Transformation of a content file into a content-centric social network

ABSTRACT

A method and a file networking system (FNS) transform a content file into a content-centric social network with managed connectivity and indexable touchpoints. The FNS injects a tracking code with widgets for user activities into each portable copy of the content file when user devices request access to the content file before distributing the portable copies to the user devices through a network. The FNS establishes a bidirectional communication with the distributed portable copies (DPCs) through the network to receive tracking information including user created touchpoints identified by the tracking code based on usage of the DPCs. The FNS indexes the touchpoints and creates a satellite internet of users of the DPCs based on invite information and usage of the DPCs. The FNS establishes communication between users of the DPCs in the satellite internet using the widgets through the tracking code and the indexed touchpoints, whereby grouping is automatically achieved.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of non-provisional patentapplication Ser. No. 15/292,128 titled “Transformation Of A Content FileInto A Content-centric Social Network”, filed in the United StatesPatent and Trademark Office on Oct. 13, 2016, now U.S. Pat. No.10,341,419 B2, which claims priority to and the benefit of thenon-provisional patent application number 201641027001 titled“Transformation Of A Content File Into A Content-centric SocialNetwork”, filed in the Indian Patent Office on Aug. 8, 2016. Thespecifications of the above referenced patent applications areincorporated herein by reference in its entirety.

BACKGROUND

The state of the art for digital content inhibits content sharing.Content sharing is beset with convolutions. File transformations areimperative. Indirect link sharing via social networks and commenting oncontent thereof is a multi-billion dollar enterprise. Direct linksharing works well until a link rot takes over. To perpetuateconnectivity with their customers, namely, users of user devices,businesses and institutions use a cloud computing environment forcontent delivery, which is not desired by some users. With no hypertextmarkup language (HTML) file available to readily download, users have toinstall other applications or plugins that are often proprietary forlocal storage of content. The users often buy devices to consume thecontent that they have paid for, which gives gatekeepers of content, forexample, online stores selling the content, greater control over thecontent than producers of the content. Authors and publishers find itdifficult to go independent of the gatekeepers of the content, becausepublishing requires professional assistance, and a lot of marketing isrequired to make a published product discoverable. Publishers have topublish in different formats, for example, a webpage format, anelectronic book (eBook) format for multiple applications and devices, aprint format, etc., and make all the formats and the related contentdiscoverable. Even as overheads of publishing are increasing, profitmargins are declining. Hence, authors and publishers have to conform togatekeepers for delivery of the content.

The internet, the world wide web consortium (W3C), and the UnicodeConsortium together allow an alternate business method for contentdelivery. Hypertext markup language (HTML) has been around for some timeand is evolving. HTML, together with the Unicode® standard of UnicodeInc., and the W3C® standards of Massachusetts Institute of Technology,is an open content standard. HTML is a rich content container withcross-media support. Hypertext markup language 5 (HTML5) is the fifthrevision of the HTML standard. HTML5 documents are typically servedthrough a hypertext transfer protocol (http) address or a hypertexttransfer protocol secure (https) address from a remote server with apersistent internet connection. Webpages are typically cached by abrowser so that even if internet connectivity is lost, the webpages arenot lost, as long as the browser remains open. Recent HTML5 initiativeshave made it possible to store cached content in the browser, so thatthe content can be recovered if the same uniform resource locator (URL)is opened again in the browser after closing the browser even withoutany internet connectivity. Storage of the cached content in the browseralso helps in the fast reloading of the HTML pages.

However, a continuing problem with webpages with the hypertext transferprotocol (http) addresses or the hypertext transfer protocol secure(https) addresses is that the user is dependent on a serverimplementation for reloading the content and it is possible that thesame content is no longer available again in the same uniform resourcelocator (URL). The standard user behavior in this changing http or httpslandscape is to download the content in a format that the user candownload, for example, in a portable document format (PDF), to a localhard disk on a user device for later use. An impediment to using thehypertext markup language (HTML) for portable files is that an HTML fileor an HTML page cannot be downloaded to local storage in an HTML format.HTML content can only be shared as a link to allow persons with whom theHTML content is shared to access the HTML content from a cloud computingenvironment. Currently, browsers only support saving a webpage as anon-standard web archive. Some browsers allow webpage downloads throughplugins. Although HTML5 as a document format has many capabilities, thelack of consistency in its implementation and the lack of portabilitymake users tend to prefer the PDF.

Publishing is moving from circulation and readership metrics toengagement metrics, where engagement with readers of published contentis considered. This is because engagement equates revenue, not only forpublishers, but also for researchers and authors. To authors who arelooking to find their next grant, engagement with their community andthe extent of engagement means the next grant. Multi-channel contentdelivery covering the hypertext markup language (HTML) format, aportable document (PDF) format, an electronic publication (ePub) format,and applications, among others, has advanced in recent times as theprimary mode of engagement, the rationale being that the readers areattracted one way or the other. There are inherent problems with thismode of multi-channel engagement. Firstly, multi-channel delivery placesmultiple production and distribution overheads on publishers and affectsspeed to market the content. Secondly, a file format like the PDF ismore a means of disengagement than engagement. When a PDF file isavailable to download, readers download the PDF file to a user deviceand are disengaged thereafter. It is difficult or, in some cases, notpossible for publishers to find out what the readers do with the PDFfile and when. The scenario of engagement with the readers is the samewith an ePub file, where the readers get disengaged after obtaining theePub file, unless there is an application on the user device that opensthis ePub file, which can then send information about engagement of thereader with the ePub file back to the publishers, which is circuitous.Therefore, there is a need for a method that collects information aboutengagement of the reader with a file in a portable format stored locallyon a user device, such as read metrics, through engagement with apublisher every time the file is opened, and for as long as the file isin use. Moreover, should a user, for example, a reader, make anddistribute copies of the file, such copies of the file cannot be trackedusing conventional methods. Therefore, there is a need for delivering afile for download purposes with codesets embedded in the file forhoming, where homing is the ability of the file to stay connected with aserver from where the file is delivered, and transmit file-levelactivity, for example, making copies of the file, to the server. In theabsence of homing, a file will have to be encrypted to preventunintended use.

Continuing engagement requires that touchpoints, that is, informationabout engagement of users of the file, including authors and readers, inthe local files on the user devices, be read continuously and indexedfor establishing communication between the users, and compiling usageinformation associated with usage of the file for conveyance topublishers, the authors, and researchers. Indexing is typically based onkeywords and/or metadata, which limits the discoverability of content,due to which search engines end up pulling a lot of irrelevantinformation. Content is often rendered with forms to fill, buttons topush, hyperlinks to click on, etc., to a machine on which users interactwith a file with the content. The machine's understanding of userinteraction is limited to the interactions of users with the forms,buttons, hyperlinks, etc. When users interact with the content in thefile instead of interacting with the forms, the buttons, the hyperlinks,etc., in the file, there is a need for recording each content unit ofinteraction against a title and metadata of the file that is alreadyavailable, thereby constantly raising levels of the machine's awarenessand setting up search engines for more meaningful content discovery.Moreover, recording each content unit of interaction against the titleand the metadata of the file facilitates search engines that are builtaround machine learning to learn better.

The information about the engagement of the users with the local fileson the user devices needs to be conveyed to a server through a network,for example, the internet, to compile the usage information. Browsersused to access a file, for example, a hypertext markup language (HTML)file, on a network, for example, the internet, restrict communicationbetween a local file on a user device and the server, for example, byrestricting local files from cross-site scripting using asynchronousJavaScript and extensible markup language (XML) (AJAX) calls, to preventsecurity threats, where AJAX is a set of web development techniques.There is a need to circumvent such restrictions to send informationabout the engagement of the users with the local files on the userdevices to the server for compiling the usage information. Moreover,there is a need for collecting information about the engagement of theusers with the local files on the user devices even in instances of aloss of connectivity of the user devices with the network through whichthe collected information is sent to the server for establishing acommunication between the users and compiling the usage information.Communication between the users of the file allows engagement ofpublishers and authors with readers of the file. There is a need forestablishing communication between the users of the file to create acontent-centric social network of the users of the file.

Current social media paradigms demand a great deal of effort on the partof users to form a group. On social platforms, users having commoninterests are not easily located, and locating them involves a lengthyprocess of discovery. The process of discovery entails random broadcaststo obtain the attention of potential group members. The random broadcastis susceptible to attacks, and may be viewed as boastful, narcissistic,impertinent, etc. There is a need for making the process of discovery ofpotential group members easy and automatic to avoid attacks fromstrangers in the network. Moreover, current social media engines imposerestrictions on the extent of content that can be posted, tweeted,pinned, etc. There are word limits, image limits, media-size limits,etc., and therefore, electronic mail (email) and file sharing, whichhave less social involvement, continue to be primary vehicles forsharing unabridged content. Where there is no restriction on contenttype or length, for example, in blogs, websites, etc., the authoringenvironment often requires the user to have substantial skills in webtechnologies, for example, hypertext markup language (HTML), cascadingstyle sheets (CSS), JavaScript®, etc., and server-side technologies, forexample, hypertext preprocessor (PHP).

Hence, there is a long felt need for a computer implemented method and acomputer implemented system that transform a content file into acontent-centric social network with managed connectivity and indexabletouchpoints. Moreover, there is a need for a computer implemented methodand a computer implemented system that compile usage informationassociated with usage of one or more portable local copies of a contentfile on one or more user devices. Furthermore, there is a need for acomputer implemented method and a computer implemented system thatdeliver a content file for download purposes with codesets embedded inthe content file for homing. Furthermore, there is a need for a computerimplemented method and a computer implemented system that circumventrestrictions placed by browsers on the user devices to send informationabout engagement of users of the content file with the portable localcopies of the content file on the user devices to a server for compilingthe usage information. Furthermore, there is a need for a computerimplemented method and a computer implemented system that collect theinformation about the engagement of the users with the portable localcopies of the content file on the user devices even when connectivity tothe network is lost, and send the collected information to the serverwhen connectivity to the network is reestablished. Furthermore, there isa need for a computer implemented method and a computer implementedsystem that group users based on common interests and context of thecontent files to form the content-centric social network automatically.

SUMMARY OF THE INVENTION

This summary is provided to introduce a selection of concepts in asimplified form that are further disclosed in the detailed descriptionof the invention. This summary is not intended to determine the scope ofthe claimed subject matter.

The computer implemented method and the computer implemented systemdisclosed herein address the above mentioned need for transforming acontent file into a content-centric social network, also referred to asan “extended document network (DNX)”, with managed connectivity andindexable touchpoints, where managed connectivity involves managing tocover for loss of connectivity as though there is no loss, withopportunities to log activities over the content file. The computerimplemented method and the computer implemented system disclosed hereintransform a downloadable content file into a connecting web applicationupon a call to local storage, that is, on request, the connecting webapplication is downloaded to the local storage as a content file. Theconnecting web application allows direct engagement between a user, forexample, a publisher of the content file and its readers and authors.Moreover, the computer implemented method and the computer implementedsystem disclosed herein compile usage information associated with usageof one or more portable local copies of a content file on one or moreuser devices. Furthermore, the computer implemented method and thecomputer implemented system disclosed herein deliver a content file fordownload purposes with codesets embedded in the content file for homing,where homing is the ability of the content file to stay connected with aserver from where the content file is delivered, and transmit file-levelactivity, for example, making copies of the content file, to the server.

Furthermore, the computer implemented method and the computerimplemented system disclosed herein circumvent restrictions placed bybrowsers on user devices to send information about engagement of usersof the content file with the portable local copies of the content fileon the user devices to a server for compiling the usage information.Furthermore, the computer implemented method and the computerimplemented system disclosed herein collect the information about theengagement of the users of the content file with the portable localcopies of the content file on the user devices even when connectivity tothe network is lost, and send the collected information to the serverwhen connectivity to the network is reestablished, thereby managing theloss of connectivity to achieve the managed connectivity, disclosedabove. Furthermore, the computer implemented method and the computerimplemented system disclosed herein group the users of the content filebased on common interests and context of the content files to form thecontent-centric social network automatically.

The computer implemented method disclosed herein employs a filenetworking system implemented, for example, as a server, comprising atleast one processor configured to execute computer program instructionsfor transforming a content file into a content-centric social networkwith managed connectivity and indexable touchpoints. The indexabletouchpoints comprise information about engagement of users with theportable local copies of the content file on the user devices. The filenetworking system injects a tracking code with widgets for useractivities into each of one or more portable copies of the content filebased on preconfigured criteria in response to a request to access thecontent file from one or more first user devices. The widgets enablecommunication and engagement among users, for example, authors andreaders of the content file, and the viewing and analysis of cumulativeengagement metrics. The file networking system distributes the portablecopies of the content file with the respective injected tracking codesto one or more second user devices through a network based on inviteinformation received by the file networking system with the request toallow access to the content file. The second user devices comprise thefirst user devices and invitee user devices addressed in the inviteinformation. The file networking system establishes a bidirectionalcommunication between the file networking system and the distributedportable copies, hereinafter referred to as “portable local copies”, ofthe content file on the second user devices through the network.

The file networking system receives tracking information comprisingtouchpoints created by users of the second user devices based on usageof the portable local copies of the content file via the establishedbidirectional communication while managing to cover for loss ofconnectivity over the network. The touchpoints are defined by userinteractions with the portable local copies of the content file on thesecond user devices and are identified by the respective injectedtracking codes in the portable local copies of the content file on thesecond user devices. The file networking system indexes the touchpointsin the received tracking information for tracking the usage of theportable local copies of the content file. The file networking systemcreates a satellite internet of users of the portable local copies ofthe content file on the second user devices based on the inviteinformation and the tracked usage of the portable local copies of thecontent file. The file networking system establishes communicationbetween the users of the portable local copies of the content file onthe second user devices in the created satellite internet of users usingone or more of the widgets for the user activities through therespective injected tracking codes in the portable local copies of thecontent file and the indexed touchpoints, thereby transforming thecontent file into the content-centric social network with the managedconnectivity and the indexable touchpoints.

In one or more embodiments, related systems comprise circuitry and/orprogramming for effecting the methods disclosed herein; the circuitryand/or programming can be any combination of hardware, software, and/orfirmware configured to effect the methods disclosed herein dependingupon the design choices of a system designer. Also, various structuralelements can be employed depending on the design choices of the systemdesigner.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary, as well as the following detailed description ofthe invention, is better understood when read in conjunction with theappended drawings. For the purpose of illustrating the invention,exemplary constructions of the invention are shown in the drawings.However, the invention is not limited to the specific methods andcomponents disclosed herein. The description of a method step or acomponent referenced by a numeral in a drawing is applicable to thedescription of that method step or component shown by that same numeralin any subsequent drawing herein.

FIG. 1 illustrates a computer implemented method for transforming acontent file into a content-centric social network with managedconnectivity and indexable touchpoints.

FIG. 2 exemplarily illustrates a flowchart comprising the stepsperformed by a file networking system for distributing portable copiesof a content file to user devices and facilitating networking andengagement of users of the user devices with the distributed portablecopies of the content file.

FIG. 3 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for indexing touchpoints ofportable local copies of the content file on user devices and providinganalytics data of the portable local copies of the content file based onthe indexing.

FIG. 4 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system on a content file when a userrequests access to the content file on the file networking system.

FIG. 5 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for receiving trackinginformation comprising usage information from a portable local copy of acontent file on a user device.

FIG. 6 exemplarily illustrates a high level process flow diagram for animplementation of the file networking system.

FIG. 7 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for setting up the filenetworking system for a first time user of the file networking system.

FIG. 8 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for generating a content fileand setting up a portable local copy of the content file on a userdevice for networking and engagement.

FIG. 9 exemplarily illustrates the steps performed by the filenetworking system for establishing communication between users ofportable local copies of a content file on user devices and compilingusage information associated with usage of the portable local copies ofthe content file on the user devices.

FIG. 10 exemplarily illustrates the steps performed by the filenetworking system for synchronizing portable local copies of a contentfile that are modified by users with predetermined user rights.

FIG. 11 exemplarily illustrates an implementation of a content-centricsocial network created by the file networking system.

FIG. 12 exemplarily illustrates a computer implemented system comprisingthe file networking system for transforming a content file into acontent-centric social network with managed connectivity and indexabletouchpoints.

FIGS. 13A-13L exemplarily illustrate screenshots showing animplementation of the file networking system that transforms a contentfile into a content-centric social network with managed connectivity andindexable touchpoints.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a computer implemented method for transforming acontent file into a content-centric social network, also referred to asan “extended document network (DNX)”, with managed connectivity andindexable touchpoints. As used herein, “content file” refers to a filethat contains, for example, textual content, image content, audiocontent, video content, audiovisual content, multimedia content, etc.,received in one of multiple formats from a user. Also, as used herein,“format” refers to a form of the content, for example, raw textualcontent formatted according to a file type such as a Microsoft® Worddocument format, a portable document format, etc., a link to textualcontent such as a uniform resource locator (URL), a uniform resourceidentifier (URI), etc. Also, as used herein, “content-centric socialnetwork” refers to a social network of users that have accessed, thatis, downloaded or cached, the same unique URL or URI of a content file.The users are bound to the content-centric social network automaticallyby having accessed the same content file. The content-centric socialnetwork is characterized by an exchange of request messages and responsemessages, all threaded to specific locations in the content file withwhich users choose to start a thread and engage with other users througha connecting web application. The process of transforming a content fileinto the content-centric social network comprises packaging content as aflattened, portable file, for example, a flattened, portable hypertextmarkup (HTML) file. As used herein, “content” refers to creativematerial that is authored or referred to by users. Also, as used herein,“flattened HTML” refers to a format where media comprising, for example,image content, audio content, video content, audiovisual content,multimedia content, etc., is rendered in a Base64 format and localizedin a file along with textual content as opposed to being separatelyprovided in a folder, for example, a web archive, associated with thefile.

The computer implemented method disclosed herein employs a filenetworking system comprising at least one processor configured toexecute computer program instructions for transforming a content fileinto a content-centric social network with managed connectivity andindexable touchpoints. The file networking system generates portablecopies of the content file when user devices request access to thecontent file. The file networking system injects 101 a tracking codewith widgets for user activities into each portable copy of the contentfile based on preconfigured criteria in response to the request toaccess the content file from one or more first user devices. As usedherein, “portable copy of the content file” refers to a copy of thecontent file on the file networking system that can be stored locally ina cache or a disk storage of a user device by downloading the copy ofthe content file from the file networking system to the user device overa network, for example, the internet, and that can be subsequentlytransmitted as desired by a user of the user device. Also, as usedherein, “tracking code” refers to a code that uniquely identifies aportable copy of the content file into which the code is injected fortracking of the portable copy of the content file by the file networkingsystem. The tracking code is, for example, a code of the JavaScript®programming language that collects and sends data on usage of theportable copy of the content file to the file networking system.

Also, as used herein, “widgets” refer to interactive virtual tools thatprovide single purpose services to a user. Also, as used herein, “useractivities” refer to activities performed by users of portable localcopies of the content file from within the portable local copies of thecontent file. Also, as used herein, “portable local copies of thecontent file” refer to copies of the content file that are storedlocally in a cache or a disk storage of a user device by downloading thecopies of the content file from the file networking system to the userdevice over a network. User activities comprise, for example, annotationon the portable local copies of the content file, communication withother users of the portable local copies of the content file whose userdevices are simultaneously connected to the file networking system,invitation of users of other user devices to access the portable localcopies of the content file, etc. The widgets for user activitiescomprise software tools, for example, highlighting tools for creatingannotations on portable local copies of the content file and forconcurrent user discovery where user devices that are simultaneouslyconnected to the file networking system at a given point of time arevisible to each other. The widgets for the user activities furthercomprise software tools, for example, interface elements, messagewindows, etc., for allowing instant messaging between the concurrentusers, user group formation, etc.

As used herein, “first user devices” refer to user devices that requestaccess to the content file on the file networking system. The filenetworking system allows the first user devices to invite other userdevices, hereinafter referred to as “invitee user devices”, foraccessing the content file on the file networking system. Also, as usedherein, “invitee user devices” refer to user devices invited by thefirst user devices at the time of initiation of download of the portablecopies of the content file by the first user devices or during usage ofthe portable local copies of the content file by the first user devicesby declaring new addressees in a widget for user activities, forexample, an instant messaging window, in the portable local copies ofthe content file by the first user devices. The file networking systemreceives invite information comprising, for example, digital addressesof users of the invitee user devices. The digital addresses of the usersof the invitee user devices comprise addresses where the users of theinvitee user devices can be reached electronically, for example,electronic mail (email) addresses of the users of the invitee userdevices.

The first user devices and the invitee user devices together arehereinafter referred to as “second user devices”. For generation of thecontent file, the file networking system provides a graphical userinterface (GUI), for example, a web interface of a web platform on theinternet, through which users of the first user devices can subscribe tothe file networking system. The file networking system receives contentin one of multiple formats from the users through the GUI provided bythe file networking system. For example, the file networking systemreceives content in the form of a link pointing to a location of thecontent on the internet or in the form of raw content entered into inputfields on the web interface, for example, from a clipboard of a localmachine. As used herein, “clipboard” refers to a software facility usedfor short term data storage and/or data transfer between documents orapplications via copy and paste operations. Moreover, the filenetworking system receives content, for example, through applicationprogramming interfaces (APIs) of other applications, application filesuploaded for conversion to and set up as a hypertext markup language(HTML) file, or as a data uniform resource identifier (URI) file. Asused herein, “data URI” refers to a URI format that provides immediateinclusion of data inline in webpages, wherein media, for example, isencoded as Base64, and as if the data is being referenced as an externalresource. An example of a code snippet executed by at least oneprocessor of the file networking system for receiving a URI, forexample, a uniform resource locator (URL) that comprises the content isprovided below:

  function grabHTML($url) {  $snoopy = new Snoopy; $snoopy->fetch($url);  $content = $snoopy->results;  return $content; }

An example of a code snippet executed by at least one processor of thefile networking system for extracting the content from the received URI,for example, a uniform resource locator (URL) is provided below:

 <xsl:stylesheet version=“1.0”        xmlns:xsl=“http://www.w3.org/1999/XSL/Transform”        xmlns:php=“http://php.net/xsl”        xmlns:h=“http://www.w3.org/1999/xhtml”        xmlns:m=“http://www.w3.org/1998/Math/MathML”        xmlns:s=“http://www.w3.org/2000/svg”        exclude-result-prefixes=“h m s”>   <xsl:outputomit-xml-declaration=“yes” method=“html”/>   <xsl:param name=“pub” />  <xsl:param name=“url” />   <xsl:param name=“burl” />   <xsl:paramname=“cdurl” />   <xsl:param name=“data_uri” />   <xsl:templatematch=“h:headlh:script” />   <xsl:template match=“/”>    <divclass.“{$pub}”>     <xsl:choose>      <xsl:whentest=“//h:*[@id=‘article’]”>       <spanclass=“hidden-id”><xsl:text>article</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘article’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@id=‘content’]/h:*[@id=‘left-column’]”>      <span class=“hidden-id”><xsl:text>left-column</xsl:text></span>       <div class=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘content’]/h:*[@id=‘left- column’]”/>        </div>     </xsl:when>      <xsl:when test=“//h:*[@id=‘story’]”>       <spanclass=“hidden-id”><xsl:text>story</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘story’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@id=‘ph5-article-id’]”>       <spanclass=“hidden-id”><xsl:text>ph5-article</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘ph5-article-id’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@id=‘main-story’]”>       <spanclass=“hidden-id”><xsl:text>main-story</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘main-story’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@id=‘content_remainder’]”>       <spanclass=“hidden-id”><xsl:text>content_remainder</xsl:text></span>       <div class=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘content_remainder’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@id=‘content-page’]”>       <spanclass=“hidden-id”><xsl:text>content_remainder</xsl:text></span>       <div class=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@id=‘content-page’]”/>        </div>      </xsl:when>     <xsl:when test=“//h:*[@class=‘main-content’]”>       <spanclass=“hidden-id”><xsl:text>main-content</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templatesselect=“//h:*[@class=‘main-content’]”/>        </div>      </xsl:when>     <xsl:otherwise>       <spanclass=“hidden-id”><xsl:text>body</xsl:text></span>        <divclass=“ph5-content-in”>         <xsl:apply-templates select=“//h:body”/>       </div>      </xsl:otherwise>     </xsl:choose>    </div>  </xsl:template>  </xsl:stylesheet>

After receiving the content from the users through the graphical userinterface (GUI) provided by the file networking system, the filenetworking system generates a unique uniform resource identifier (uURI)with the received content. The file networking system redirects theusers to the generated uURI. When the file networking system receives arequest to access the content file from the first user devices used bythe users, the file networking system caches the generated uURI in abrowser used to access the uURI on the user devices. The file networkingsystem removes extraneous information from the received content that isin one of the formats, for example, a link to textual content such as auniform resource identifier (URI), a file type format such as a portabledocument format, etc., as disclosed above for use in a content-centricsocial network. As used herein, “extraneous information” refers toinformation that is unrelated to the content received from a user in oneof multiple formats by the file networking system. The extraneousinformation in the received content comprises, for example, advertisingcontent, widgets not related to the received content, etc. A first usermay enter a link to a website via the GUI, where the website comprisesextraneous information not related to the content along with thecontent. The extraneous information comprises, for example, anyadvertising content on a webpage of the website, comments sections,links to other articles, and other elements of the website that are notrelated to the content. If the received content is a URI, and if underthat URI, there is extraneous information, the file networking systemstrips the extraneous information from the received content and sets upthe uURI with the content alone. In an embodiment, the uURI presents thecontent in its native style, that is, as received from the users. Inanother embodiment, the uURI neutralizes the content to a universalstyle that is predefined. An example of a code snippet executed by atleast one processor of the file networking system for removing theextraneous information from the received content is provided below:

 function cleanUsingTidy($content) {   //---Should use html5-tidyinstead of this fix   $content = preg_replace(“/<article\s*id=\p{P}?[{circumflex over ( )}\s\p{P}]+/”,“<div id=‘ph5-article-id’”, $content);   $content =preg_replace(“/<(V?)(article|header|footer)/”,“<$1div ”, $content);  //---Patch for PLOS proprietary tag   $content =preg_replace(“/<main>/”,“<div id=‘main-story’>”, $content);   $content =preg_replace(“/<Vmain>/”, “</div>”, $content);   //-----defaultnamespace need to be scrapped out   $content =preg_replace(“/(<[{circumflex over ( )}<>] )\s*xmlns=[{circumflex over( )}\s<>]+/i”, “$2”, $content);    $tidy_config = array(     ‘clean’ =>true,     ‘output-xhtml’ => true,     ‘numeric-entities’ => true,    ‘output-encoding’ => ‘ascii’,     ‘drop-proprietary-attributes’ =>true               );    $tidy = tidy_parse_string($content,$tidy_config, “utf8”);   $tidy->cleanRepair( );    returntidy_get_output($tidy);  }

The file networking system generates the content file in a flattenedformat using the received content free of the removed extraneousinformation for use in a content-centric social network. The filenetworking system grabs the extraneous information comprising externalobjects such as images, referred by the uniform resource identifier(URI), and embeds binary data inline in the file along with textualcontent for generating the content file in a flattened format. Using theabove content file generation method, the file networking systemincreases unity of the hypertext markup language (HTML) format and hencethe portability of the HTML format, making the HTML format better suitedfor local storage than other formats, for example, the portable documentformat (PDF) and electronic publication (ePub) formats. The filenetworking system implements the above content file generation methodfor resolving limitations in downloading content as a HTML. In anembodiment, the file networking system converts a given URI to a dataURI, thereby creating a file in a reversible file format, for example, asingle flattened hypertext markup language 5 (HTML5) format which hasall the functionalities of a file in a portable document format (PDF)including, for example, printing using a simple red-green-blue (RGB)color model. As used herein, “reversible file format” refers to a fileformat that can be back transformed, for example, into an HTML format.The reversible file format is named, for example, as “PH5” thatrepresents pagination with hypertext markup language 5 (HTML5) andcomprises a set of properties including tags that are generated inaccordance with structural semantics of documents in the HTML format andrecognizes scripts that shape the PH5 output as disclosed in co-pendingnon-provisional patent application number 3348/CHE/2015 titled“Transformation Of Marked-up Content To A Reversible File Format ForAutomated Browser Based Pagination”, filed in the Indian Patent Officeon 1 Jul. 2015, which is incorporated herein by reference in itsentirety and disclosed herein as an example of flattening the HTML fileto make the flattened HTML file available for the transformation of acontent file into a content-centric social network.

When the users subscribe to the web platform hosted by the filenetworking system, the file networking system receives a declaration ofa user role and a usage agreement from each of the users via thegraphical user interface (GUI) provided by the file networking system.The file networking system receives user roles and the usage agreementfrom users of the invitee user devices through their digital addressesobtained from the invite information received from the users of thefirst user devices. The file networking system queries a database toobtain a definition of the declared user role to configure the usage ofthe GUI based on the declared user role along with inputs from the userfor a desired configuration. The usage agreement received from the usersallows the file networking system to store and maintain the portablelocal copies of the content file that the file networking systemsubsequently provides to the users engaged with the file networkingsystem through the respective injected tracking codes in the portablelocal copies of the content file. Definitions of the user roles and theusage agreement form the preconfigured criteria based on which the filenetworking system injects the tracking codes.

In an embodiment, the users are authors, publishers, and/or readers whoaccess content on the graphical user interface (GUI) provided by thefile networking system and who interact with the content and each otherusing user devices. The corresponding user roles of the users comprise,for example, a publisher of the content file, an author of the contentfile, a reader of the content file, and an editor of the content file.The user roles are predefined in the database of the file networkingsystem. For example, the file networking system provides a publisher, inaccordance with the corresponding user role, anonymity or visibility ofengagement metrics of all authors and readers of the portable copies ofthe content file, where engagement metrics constitute part of usageinformation associated with usage of the portable local copies of thecontent file. As used herein, “engagement metrics” refer to measured andstatistically calculated information derived from actions of the userswhile interacting with the content using their user devices. Engagementmetrics comprise, for example, an average depth of a scroll performed bya reader of a file through content in the file, information on whetherthe reader is actively using the content file, ratio of daily activeusers to monthly active users engaging with the content file, etc. Otherexamples of engagement metrics comprise length of time a user is engagedwith the content file, region of the content file being used, region ofthe content file being annotated, points in the content file from whicha user initiates communication with other users, the extent of aconversation that arises at each of those points, etc.

In an embodiment, the file networking system forms groups when the usersof the first user devices provide the addressees of the group to thefile networking system at the time of initiating a download of theportable copies of the content file or later by declaring a newaddressee in an instant messaging window in the portable local copies ofthe content file. The addressees of the group comprise, for example, theusers of the invitee user devices, whose digital addresses are receivedby the file networking system from the invite information provided bythe users of the first user devices. In an embodiment, the filenetworking system labels a user-initiated group with users of the firstuser devices who provide the invite information and the users of theinvitee user devices as a primary group. In this embodiment, the filenetworking system creates a secondary group of users comprising, forexample, users who are independent downloaders of the portable copies ofthe content file, that is, users who do not provide any inviteinformation. Users in the secondary group of users are discoverable toeach other. By invitation, a user in the secondary group of users can bemade part of a primary group.

Upon a call to local storage, that is, upon request by the second userdevices, the content in the uniform resource identifier (URI) isdownloaded to local storage of the second user devices as portable localcopies of the content file and the file networking system injects thetracking codes that radio collar the portable local copies of thecontent file for tracking of the portable local copies of the contentfile, based on the preconfigured criteria comprising, for example, thedefinitions of the user roles of the users of the second user devicesand the usage agreement as disclosed above. As used herein, “radiocollar” refers to an action of inserting code that identifies and tracksthe content file. A generic computer using a generic program cannotinject a tracking code with widgets for user activities into each of theportable local copies of a content file based on preconfigured criteriain accordance with the method steps disclosed above.

The file networking system distributes 102 the portable copies of thecontent file with the respective injected tracking codes to the seconduser devices through a network based on the invite information receivedby the file networking system with the request to access the contentfile. By distributing the portable copies of the content file with therespective injected tracking codes to the second user devices, the filenetworking system delivers the portable copies of the content file fordownload purposes on the second user devices, with codesets embedded inthe portable copies of the content file via the injected tracking codesfor homing. As used herein, “homing” refers to maintenance of aconnection of the distributed portable copies of the content file with aserver from which the content file is distributed, and transmittal offile-level activity, for example, making copies of the content file, tothe server.

The file networking system establishes 103 a bidirectional communicationbetween the file networking system and the distributed portable copies,hereinafter referred to as “portable local copies”, of the content fileon the second user devices through the network. The file networkingsystem sets up the portable local copies of the content file with therespective injected tracking codes for subsequent engagement with thefile networking system. In an embodiment, the second user devicescomprise computing devices and consuming devices. In an embodiment,unless deterred by permission, the file networking system serves abrowser request originating from a computing device with an inline frame(iframe) and a codeset along with a portable local copy of the contentfile. The iframe and the codeset maintain connectivity between eachdownloaded portable local copy of the content file with the injectedtracking code and the file networking system for tracking the portablelocal copy of the content file. For a browser request originating from aconsuming device, the file networking system serves the browser requestwith a page cached in the browser, where the cached page comprises thecontent in the portable local copy of the content file and the injectedtracking code that allows tracking through the file networking system.

The file networking system then receives 104 tracking informationcomprising touchpoints created by users of the second user devices basedon usage of the portable local copies of the content file via theestablished bidirectional communication while managing to cover for lossof connectivity over the network. As used herein, “touchpoint” refers toan interface point defined by an interaction between a user of a seconduser device and a portable local copy of the content file on the seconduser device. Any interaction performed by a user with a portable localcopy of the content file is herein referred to as a “user interaction”.The touchpoints are defined by user interactions with the portable localcopies of the content file on the second user devices and are identifiedby the injected tracking codes in the portable local copies of thecontent file on the second user devices. The touchpoints comprise, forexample, information indicating that the portable local copy of thecontent file is open, information indicating that the portable localcopy of the content file is in use, an annotation made on the portablelocal copy of the content file, indexing information of the portablelocal copy of the content file and the annotation therein, communicationbetween the second user devices with the portable local copies of thecontent file, etc. Also, as used herein, “usage of the portable localcopies” refers to access of the portable local copies of the contentfile on the second user devices, for example, by opening and subsequentclosing of the portable local copies of the content file, and engagementof users of the portable local copies of the content file in useractivities in the portable local copies of the content file. The usageof the portable local copies of the content file comprises, for example,opening the portable local copies of the content file, followed byscrolling through the portable local copies of the content file forreading, annotating portions of the portable local copies of the contentfile, communicating, for example, via instant messaging, with otherusers by either tethering the communication to an annotated portion ofthe portable local copies of the content file or without any tethering,etc.

An example of an annotation in a portable local copy of the content fileis highlighting of a portion of the portable local copy of the contentfile. An example of a code snippet executed by at least one processor ofthe file networking system for highlighting a portion of the portablelocal copy of the content file is provided below:

var highlighter = rangy.createHighlighter( ); highlighter.addClassApplier(rangy.createClassApplier(“highlight”, {    ignoreWhiteSpace: true,     tagNames: [“span”, “a”] })); functionhighlightSelectedText( ) { highlighter.highlightSelection(“highlight”);} function removeHighlightClass( ) {  $(“.highlight”).removeClass(“highlight”); }; functionhighlightTitle(el) {    removeHighlightClass( );   $(“.ph5-content”).highlight(el.getAttribute(“title”)); };

The file networking system receives the tracking information even in thecases of intermittent network connectivity. For a loss of connectivitybetween the file networking system and the portable local copies of thecontent file on the second user devices over the network, the injectedtracking code in each of the portable local copies of the content filestores the tracking information of the portable local copies of thecontent file locally on the second user devices. On reestablishment ofthe connectivity between the file networking system and the portablelocal copies of the content file on the second user devices over thenetwork, the injected tracking code in each of the portable local copiesof the content file transmits the stored tracking information from theportable local copies of the content file on the second user devices tothe file networking system over the network, thereby managing theconnectivity between the file networking system and the portable localcopies of the content file on the second user devices. An example of acode snippet executed by at least one processor of the file networkingsystem for storing the tracking information locally on a second userdevice of a user of the second user device with a user name “Alice” anda user role defined as a “reader” is provided below:

 var userName = “Alice”;  var userRole = “Reader”;   functionloadScripts( ) {     var date = new Date( );     var t = date.getTime();     var time = localStorage.getItem(“time”);       var title =document.getElementsByTagName(‘title’)[0].textContent;       var stl =title.replace(/[ a-z0-9]+/gi, “-”).substring(0,40);    if(stl == “”) {stl = “Unknown-title”; }     var internet = navigator.onLine;    if(time) {      localStorage.setItem(“time”, time + “, ” + t);     }    else {      localStorage.setItem(“time”, t);     }    loadIframe(“http://localhost/ph5/users.php/” + userName + “/” +userRole + “/1/” + stl);     if(internet == true) {     localStorage.setItem(“time”, t);     }   };   functionloadIframe(url) {     var iframe = “<iframe class=ph5-iframe src=” +url + “ id=i_frame frameBorder=0></iframe>”;    document.getElementById(“idiv”).innerHTML = iframe;   };

Furthermore, browsers on the second user devices restrict communicationbetween the portable local copies of the content file on the second userdevices and the file networking system, for example, by restrictinglocal files from cross-site scripting using asynchronous JavaScript andextensible markup language (XML) (AJAX) calls, to prevent securitythreats. In an embodiment, the file networking system circumvents suchrestrictions and receives tracking information from the portable localcopies of the content file on the second user devices by using inlineframes (iframes) on the portable local copies of the content file andRESTful services supported by modern browsers on the file networkingsystem along with cookies and a flash memory. A generic computer using ageneric program cannot receive tracking information comprisingtouchpoints over a network from the portable local copies of the contentfile on the second user devices while managing to cover for loss ofconnectivity over the network in accordance with the method stepsdisclosed above.

The file networking system indexes 105 the touchpoints in the receivedtracking information for tracking the usage of the portable local copiesof the content file. Apart from titles of the portable local copies ofthe content file, user names of the users, electronic mail (email)addresses of the users, user roles, and group identities of the users,the file networking system indexes every touchpoint in the networkedcontent file. Touchpoint indexing in the networked content file createsbig data that is relevant for users who seek to mine the big data. Everyinteraction performed by a user, that is, every user interaction is atouchpoint and the file networking system indexes every touchpoint, forexample, from a single portable and trackable data uniform resourceidentifier (URI) file. The file networking system performs touchpointindexing that is triggered by user input and increases the scope ofindexing beyond keywords, key phrases, sentences, and whole paragraphs.In the data URI file, a touchpoint has a tethered conversation and thedepth of the conversation is known to the file networking system forrelevance maximization. In an embodiment, the file networking systemutilizes the indexed touchpoints of the portable local copy of thecontent file and the annotation therein, for example, for subsequentserving of targeted contextual advertisements through the portable localcopies of the content file.

Consider an example where a portable local copy of the content filecontains the play “Shakespeare's Hamlet”. Users may identify discussionpoints such as the phrase “To be or not to be” in the portable localcopy for indexing by highlighting and the file networking systemthereafter indexes the touchpoint, that is, the highlighted phrase “Tobe or not to be”. The file networking system indexes a title of theportable copy of the content file, that is, “Shakespeare's Hamlet”,along with a name of the user, the user's electronic mail (email)address, a user role, and a user activity, for example, highlighting thephrase in the portable local copy of the content file on the user devicethrough touchpoint indexing. Touchpoint indexing allows the useractivity, that is, highlighting the phrase, performed on the portablelocal copy of the content file to be harvested, facilitated by theinjected tracking code in the portable local copy of the content file.The file networking system creates and stores distinct records of theindexed touchpoints of the user in the portable local copy of thecontent file. The indexed touchpoints can then be used for understandinguser behavior over the content file and over specific regions within thecontent file, thereby tracking the usage of the content file. Consideranother example for non-literary human indexing, where the filenetworking system performs cross-indexing of the touchpoints, forexample, the number of references in a conversation to a particular wordsuch as “car”, with the touchpoints, for example, number of times theusers mention the word “car” by type, for example, multi utility vehicle(MUV), sports utility vehicle (SUV), sedan, etc., and by brand, anddetermines a predominant sentiment of the conversation. Based on thedetermination of the predominant sentiment of the conversation made bythe file networking system, the users, for example, advertisers, candecide on a promotional spend for their line of products, for example,cars.

The file networking system indexes each touchpoint, for example, ahighlight of content in the portable local copy of the content file. Thetouchpoint indexing performed by the file networking system collectsdata comprising, for example, duration of usage of the content file,density of usage within the content at a specific touchpoint, etc. Themost highlighted content is not necessarily the most popular content.For example, every comment may be a criticism. The file networkingsystem distinguishes the touchpoints created, for example, byhighlighting the touchpoints into neutral, negative, positive, doublepositive, etc. Neutral touchpoints indicate only viewing of the content,negative touchpoints indicate disagreement or criticism of the content,positive touchpoints indicate agreement with the content, and doublepositive touchpoints indicate appreciation and adding to the content.The touchpoints comprise all user interactions with the portable localcopies of the content file, for example, comments, highlights ofcontent, conversations tethered to content, etc., beyond mereinteractions with forms, buttons, hyperlinks, etc., in the portablelocal copies of the content file. Through indexing of the touchpoints,the file networking system records each content unit of interaction ofthe users with the portable local copies of the content file against thetitle and metadata of the portable local copies of the content file. Thefile networking system constantly raises the levels of awareness ofdetails of the content file in a machine, for example, a search engineon a server that uses the content file. The increased awareness of thecontent file results in more meaningful content discovery, for example,content related to topics covered in the content file, content relatedto popular portions of the content file, etc., through the searchengine. In an embodiment, by increasing awareness of the content file inthe machine, the file networking system manifests as a relevancemaximization engine (RME) based on content. Identifying the touchpointsof readers provides other readers, the authors, the publishers, andanalysts of the content file with feedback on the content of the contentfile from the readers.

The file networking system creates 106 a satellite internet of users ofthe portable local copies of the content file on the second user devicesbased on the invite information received from the first user devices andthe tracked usage of the portable local copies of the content file. Asused herein, “satellite internet of users” refers to a network of usersof the portable local copies of the content file formed by the filenetworking system via a network. Satellite internet is a network inwhich downloaded, offline hypertext markup language (HTML) files, thatis, the portable local copies of the content file, have the potential tobe part of a network, for example, the internet. Similar to satellites,the collective of the portable local copies of the content file issometimes visible and at other times not visible, but functions as apart of a planetary system called the internet. The file networkingsystem creates the satellite internet of users based on same-file usageof the portable local copies of the content file, that is, usage bydownloading the portable local copies of the content file or by beinginvited and then downloading the portable local copies of the contentfile. In an embodiment, the indexed touchpoints trigger the creation ofthe satellite internet of users. The file networking system allows usersto isolate files with conversations with a density above a certain limitto form a meta-satellite, that is, a satellite of a satellite.

The file networking system links the users of the portable local copiesof the content file on the second user devices using the indexedtouchpoints, where the indexed touchpoints comprise information of theusers of the portable local copies of the content file and thecommunication between the users. The created satellite internet of userscomprises the users of the first user devices and the users of theinvitee user devices whose digital addresses are obtained through theinvite information. The file networking system establishes 107communication between the users of the portable local copies of thecontent file on the second user devices in the created satelliteinternet of users using one or more of the widgets for the useractivities through the injected tracking codes in the portable localcopies of the content file and the indexed touchpoints, therebytransforming the content file into a content-centric social network withmanaged connectivity and indexable touchpoints.

In an embodiment, the file networking system logs user activities in theportable local copies of the content file on the second user devices inthe created satellite internet of users using one or more of the widgetsfor the user activities through the injected tracking codes. As usedherein, “logging” refers to recording data on the usage of the portablelocal copies of the content file from the injected tracking code in theportable local copies of the content file by the file networking system.Users in the created satellite internet of users perform useractivities, for example, annotation, highlighting, commenting, etc., inthe portable local copies of the content file using the widgets for theuser activities through the injected tracking codes. Performance of theuser activities on the portable local copies of the content fileconstitutes the usage of the portable local copies of the content file.The file networking system logs the user activities for establishing thecommunication between the users of the portable local copies of thecontent file on the second user devices in the created satelliteinternet of users. The injected tracking codes in the portable localcopies of the content file collect and send data on the usage of theportable local copies of the content file and hence the performed useractivities to the file networking system. The file networking systemuniquely logs the user activities performed in each portable local copyof the content file. Based on the logged user activities, the filenetworking system establishes the communication between the users of theportable local copies of the content file on the second user devices.For example, if a user of a portable local copy of the content filehighlights and comments on a portion of the portable local copy of thecontent file, the file networking system logs the highlights and thecomments and broadcasts the highlights and the comments to users in thecreated satellite internet of users who are concurrently accessing theportable local copy of the content file, with an identification of theuser who highlighted and commented on the portion of the portable localcopy of the content file. The logging and broadcasting of the useractivities allow further communication, for example, commenting andexchange of messages between the users of the portable local copies ofthe content file on the second user devices in the created satelliteinternet of users.

In an embodiment, the file networking system groups users in the createdsatellite internet of users automatically. Grouping is a method thatallows exclusion and inclusion of users as pertinent to thecommunication around the content in the content file. Grouping enablesthe users with similar interests and activities to interact with eachother and share content. The file networking system performs groupingautomatically based on the access of the content file. Users of thesecond user devices that download the same content, that is, the uniformresource identifier (URI), automatically belong to a specific contentgroup. The file networking system subsumes the conventional method ofgrouping by invitation. The file networking system groups the seconduser devices into one or more groups comprising primary groups and asecondary group. Primary groups comprise users of the first user deviceswho provide the invite information and users of the invitee user devicesinvited by the first user devices. The secondary group comprises userswho are independent downloaders of the URI, that is, default downloadusers. In an embodiment, the file networking system groups the seconduser devices into one or more groups comprising the primary groups andthe secondary group for configuring the establishment of thecommunication between the users of the portable local copies of thecontent file on the second user devices in the created satelliteinternet of users. In this embodiment, the communication between theusers of the portable local copies of the content file in a primarygroup is not visible to the users of the portable local copies of thecontent file in other primary groups and the secondary group. The filenetworking system allows the users of the portable local copies of thecontent file in the secondary group to discover each other in thecreated satellite internet of users to form primary groups by invitingeach other, for example, through an instant messaging window in theportable local copies of the content file. Furthermore, the filenetworking system allows the users of the portable local copies of thecontent file in the secondary group to receive invites from the users ofthe portable local copies of the content file in the primary groups tobecome part of the primary groups.

In an embodiment, the file networking system establishes thecommunication between the users of the portable local copies of thecontent file on the second user devices in the created satelliteinternet of users based on user rights management (URM) set up by apublisher of the content file. As used herein, “user rights management”refers to access control protocols and presets used to calibrate usageof content of the content file. The file networking system implementsURM, for example, to limit viewing portions of the content file and/orsharing of the data on the usage of the content file, when needed, torestrict sharing of annotated tethered chats, and to allow the users ofthe portable local copies of the content file to set their ownvisibility or anonymity, depending on the user roles that the users havedeclared at the time of downloading the portable copies of the contentfile. The file networking system utilizes a user name, an internetprotocol (IP) address, a client device identification (ID), location, anelectronic mail (email) identification (ID), and a grouping of the usersto configure different levels of access for the user.

Through the method steps 101, 102, 103, 104, 105, 106, and 107 disclosedabove, the file networking system transforms the content file into acontent-centric social network with managed connectivity and indexabletouchpoints. The method steps 101, 102, 103, 104, 105, 106, and 107require no less than seven separate computer programs that cannot beeasily or manually executed by a person working with a generic computer.The file networking system forms the content-centric social networkautomatically based on commonality of content files downloaded directlyor by invitation. The content-centric social network is then extendedbased on communication between the file networking system and common,grouped users of the portable local copies of the content file, whoinduce indexed touchpoints in the portable local copies of the contentfile by way of annotations on the portable local copies of the contentfile and initiate discussions over the indexed touchpoints, whiletethering the discussions to the annotations. The users may alsoinitiate discussions that are not tethered to an annotation, as puremessages with no anchor in the content of the portable local copies ofthe content file. In cases where the discussions are not tethered to anannotation, the file networking system falls back on relevancemaximizing the untethered touchpoints based on information available ata file level, for example, title and/or metadata of the portable localcopies of the content file. Untethered touchpoints yield less relevancecompared to tethered touchpoints in subsequent analyses of touchpoints.That is, untethered touchpoints are also tethered touchpoints, exceptthat the untethered touchpoints are tethered to the portable localcopies of the content file instead of being tethered to a specificannotation in the portable local copies of the content file. The stepsperformed by the file networking system disclosed above are tangible,provide useful results, and are not abstract.

In an embodiment, the file networking system compiles usage informationassociated with the usage of the portable local copies of the contentfile on the second user devices from the received tracking informationand the established communication between the users of the portablelocal copies of the content file on the second user devices in thecreated satellite internet of users. The file networking system collectsusage information generated by the second user devices at user definedtouchpoints, and compiles, analyzes, and dashboards the usageinformation for users who want to consume the usage information. Thefile networking system compiles the usage information by statisticallyanalyzing the tracking information comprising the touchpoints receivedfrom the portable local copies of the content file on the second userdevices using page tags with JavaScript® code, cookies, log files, etc.The usage information that is compiled comprises the engagement metrics.The usage information comprises information, for example, about thehottest content file of the month, week, day, or moment, hottest pagesin the content file, the portions of the content file being talked aboutthe most, etc. In an embodiment, the file networking system provides theusage information as raw data, for example, to publishers of the contentfile, third party developers, etc., for building customized analyticsand dashboards with statistical information about the usage of theportable local copies of the content file.

In an embodiment, the file networking system sends the compiled usageinformation associated with the usage of the portable local copies ofthe content file on the second user devices of the readers of thecontent file to a second user device of a publisher of the content file.The file networking system facilitates targeting of advertisementspublished by the publisher of the content file to the second userdevices of the readers of the content file based on the compiled usageinformation associated with the usage of the portable local copies ofthe content file on the second user devices of the readers of thecontent file. In another embodiment, the file networking system rendersthe compiled usage information associated with the usage of the portablelocal copies of the content file on the second user devices of thereaders of the content file to the second user devices of the authors ofthe content file for initiating a selective communication with one ormore of the readers of the content file by the authors of the contentfile based on the compiled usage information and allowing monitoring ofthe usage of the portable local copies of the content file on the seconduser devices of the readers of the content file by the authors of thecontent file. The compiled usage information comprises readershipinformation of the content file. As used herein, “readershipinformation” refers to information about the number of readers of thecontent file and portions of the content file most discussed by thereaders of the content file using the widgets for the user activities inthe portable local copies of the content file on the second user devicesof the readers of the content file. The authors of the content file,according to their preferences, can therefore engage with one or morereaders of the content file.

In an embodiment, the file networking system supports downloading of thecontent file to local storage, that is, a local disk by users foroffline consumption of the content. Every time the user is online, aserver side uniform resource identifier (URI) proxies the portable localcopy of the content file, thereby allowing the users to view the sameregion in the content file. Annotations performed on the portable localcopy of the content file are carried to corresponding positions in theproxied copy of the content file on the file networking systemimplemented, for example, as a server. In an embodiment, the filenetworking system provides users, who declare themselves as authors atthe time of downloading the content file, an option to toggle theirpresence as online or offline. The users declared as authors can viewand monitor the usage of the portable local copy of the content file ofthe readers of the content file since the portable local copy of thecontent file of the readers is proxied on the file networking system. Inan embodiment, the option to toggle a presence in a group is provided toall the users in the group, thereby enabling all the users in the groupto have equal access rights similar to a chat room where a user can beviewed as offline or online.

In another embodiment, the file networking system sends the compiledusage information associated with the usage of the portable local copiesof the content file on the second user devices of the authors of thecontent file to the second user device of the publisher of the contentfile. The file networking system establishes a round-trip communicationbetween the authors of the content file and the publisher of the contentfile for review of the content file prior to publication of the contentfile and for performing updates to the content file after thepublication of the content file based on the compiled usage information.As used herein, “round-trip communication” refers to back and forthcommunication between the authors of the content file and the publisherof the content file for making and approving edits to the content fileprior to the publication of the content file and during an update of thecontent file after the publication of the content file.

In an embodiment, the file networking system generates usage informationcomprising, for example, dashboards, charts, etc., with statisticsderived from the tracking information received from the portable localcopies of the content file by applying statistical analysis. Thegenerated usage information is associated with the usage of the portablelocal copies of the content file on the second user devices of readersof the content file. The file networking system sends the generatedusage information to a publisher of the content file to facilitate, forexample, targeted advertising by the publisher of the content file basedon the compiled usage information.

In an embodiment, the file networking system injects a tracking codeinto a flattened data uniform resource identifier (URI) file upon a callto local storage by the second user devices requesting access to theflattened data URI file. By injecting the tracking code, the filenetworking system transforms the data URI file into an application alongwith a codeset for tracking local usage of the transformed data URI filein the satellite internet of users of the second user devices, that is,a network of users of the transformed data URI file created by the filenetworking system. The process of injecting the tracking code does notneed human interaction with the file networking system. A codeset thatenables network functionality can be served to authorised machinerequests in the form of application programming interface (API) calls.The file networking system serves the usage information associated withthe transformed data URI files downloaded by the users, directly intoservers of a publisher of the data URI file.

The transformed data uniform resource identifier (URI) file downloadedby the users signal an engagement to the file networking system everytime the transformed data URI file is opened on each of the userdevices. The file networking system, in turn, can signal information,for example, concurrent usage information involving other usersconcurrently using the transformed data URI files downloaded by them,back to the transformed data URI files that signaled an engagement tothe file networking system. The file networking system establishescommunication between concurrent users of the transformed data URI filesin the created satellite internet of users. In an embodiment, when theusers comprise authors, readers, and a publisher of the data URI file,the file networking system allows engagement at multiple levels betweenthe publishers, authors, and the readers of the data URI file based onuser rights management (URM) set up by the publisher of the data URIfile. For example, the usage information compiled by the file networkingsystem allows the publisher of the data URI file to track and understandthe usage of the transformed data URI file. In another example, theusage information compiled by the file networking system allows theauthors of the data URI file to view a list of users using thetransformed data URI file at a point of time, the frequency and durationof the use of the transformed data URI file, and communication betweenthe users of the transformed data URI file.

The file networking system receives the user roles, digital addresses ofthe users, the invite information of the users of the invitee userdevices, and the usage agreement when the users subscribe to the filenetworking system via the graphical user interface (GUI) provided by thefile networking system. Based on the received user roles, the digitaladdresses of the users, and the usage agreement, the file networkingsystem constructs threads that transform the data uniform resourceidentifier (URI) file into an application. For example, the filenetworking system embeds instant messaging for communication amongreaders of the data URI file, for communication between an author andreaders of the data URI file, and for communication round trips betweena publisher, an author, readers, and reviewers. The file networkingsystem provides a common platform for all the users to be engagedconcurrently on a specific portion of the transformed data URI file. Inanother example, the file networking system shows engagement metricswith the usage information compiled by the file networking system in thetransformed data URI file. The file networking system also supportsfocused advertising by the publisher of the data URI file based on thecompiled usage information associated with the usage of the transformeddata URI files on the second user devices.

The usage information compiled by the file networking system iscontent-centric and has a semantic potential for mining and relevancematching of businesses to their target customers. An indexing policyimplemented by the file networking system is driven by the content ofthe data uniform resource identifier (URI) file and not by userinformation. The file networking system does not receive an individualuser's private data beyond one of the user's digital addresses, forexample, an electronic mail (email) address. The file networking systemprovides an option to the users to opt for the usage agreement andcorresponding transformation of the data URI file into an application.The user can configure the nature of the transformed data URI file usingthe potential of rich content that hypertext markup language (HTML) candeliver. The user can also configure the delivery of the content to beminimally intrusive.

The portable local copies of the content file are downloaded or cachedlocally on user devices and become asynchronous relative to the contentfile on the file networking system, for example, a webpage that may bedynamic and evolving. The file networking system receives updates madeto the portable local copies of the content file by users of one or moreof the second user devices based on predetermined user rights associatedwith the users. The user rights are provided, for example, by apublisher of the content file. The file networking system updates thecontent file based on the received updates. The file networking systemthen generates and transmits notifications of an availability of theupdated content file to users of the second user devices for providingaccess of the updated content file to the second user devices. In anembodiment, the file networking system allows the users who have madethe updates to the portable local copies of the content file on theiruser devices to notify all other users who have downloaded an earlierversion of the content file of an availability of the updated contentfile for download. The file networking system links back to the earlierversion of the content file and allows the users who have thepredetermined user rights to synchronize the content file to the morerecent local version of the content file on their user devices.

The second user devices comprise computing devices, that is, devicesthat typically allow explicit local storage, for example, desktops,laptops, servers, etc., and consuming devices, that is, devices that aretypically without explicit local storage, for example, tablet devices,electronic reading devices, smart phones, etc. In an embodiment, thefile networking system automatically recognizes the category of thesecond user devices. That is, the file networking system detects thecomputing devices and the consuming devices from among the second userdevices for the establishment of the bidirectional communication betweenthe file networking system and the portable local copies of the contentfile and the establishment of the communication between the users of theportable local copies of the content file in the created satelliteinternet of users. In an embodiment, the detection of the computingdevices and the consuming devices from among the second user devicesallows the file networking system to receive tracking information fromthe portable local copies of the content file on the second userdevices. The file networking system sets up the content file fortracking based on the detection. When the second user device is acomputing device, the file networking system injects an inline frame(iframe) and a codeset into a portable copy of the content file providedby the file networking system for download, that keep the downloadedportable local copy of the content file in touch with the filenetworking system. When the second user device is a consuming device,the file networking system injects a tracking code into the content ofthe content file, stores the content of the content file with theinjected tracking code in a cache of the browser, and provides aportable copy of the content file for download. The downloaded portablecopy, that is, the portable local copy of the content file in theconsuming device redirects to the content of the content file stored inthe cache of the browser when opened by a user on the second userdevice.

In an embodiment, when second user devices defined in the category ofcomputing devices, for example, desktops, laptops, servers, etc.,request access to a data uniform resource identifier (URI) file on thefile networking system, the file networking system responds to therequest and provides a complete download of the content in the contentfile as a single flattened hypertext markup language (HTML) file withbinary data of images and multimedia components as a Base64 encoded datauniform resource identifier (URI) within the HTML file to these seconduser devices. As the second user devices download the flattened HTMLfile, the flattened HTML file is radio collared with scripts thattransmit the presence of the flattened HTML file to the file networkingsystem through an HTML inline frame (iframe) element. Bidirectionalcommunication between the file networking system and the downloadedflattened HTML file is set up through web sockets, allowing real timecommunication, for example, a web chat between readers, and/or authors,and/or a publisher of the flattened HTML file. In an embodiment, thefile networking system uses a XAMPP® server with Apache web serversoftware, a hypertext preprocessor (PHP) server side scripting language,and a MySQL® relational database management system (RDBMS) to implementa RESTful web service. The RESTful web service returns a list of usersthat were or are using the downloaded flattened HTML file based on thetransmission of the presence of the downloaded flattened HTML file bythe HTML iframe element in the downloaded flattened HTML file.Multi-channel communication is set up between the users through websockets at the central Apache server. A chat server is implemented withthe help of the web sockets.

Second user devices defined in the category of consuming devices, forexample, tablet devices, electronic reading devices, smart phones, etc.,do not allow standard browsers to access local hypertext markup language(HTML) files. When these second user devices request access to a datauniform resource identifier (URI) file on the file networking system,the file networking system uses an HTML local cache in the browser tostore content of the data URI file in the browser along with a trackingcode injected into the content of the data URI file by the filenetworking system. The content of the data URI file is stored as uniquehypertext transfer protocol (http) or hypertext transfer protocol secure(https) uniform resource identifiers (URIs) with appended checksums. Thefile networking system provides a download of a flattened HTML file thatis a small file with minimal content by itself. However, the HTML fileredirects to the cached http or https URIs that have the content of thedata URI file in the browser of the second user device. In anembodiment, the file networking system stores the http or https URIswith the content of the data URI file and appended checksums in anexternal server as persistent URIs for long term stability or cloudscale stability of the http or https URIs. A generic computer using ageneric program cannot set up a download of the portable copies of acontent file on a server based on the category of user devicesrequesting access to the portable copies of the content file, inject atracking code with widgets for the user activities, receive trackinginformation comprising touchpoints from the downloaded portable copiesof the content file, index the touchpoints, create a satellite internetof users of the downloaded portable local copies of the content file,establish a communication between the users of the portable local copiesof the content file, and compile usage information associated with theusage of the downloaded portable local copies of the content file fromthe received tracking information and the established communicationbetween the users of the portable local copies of the content file onthe second user devices in the created satellite internet of users inaccordance with the method steps disclosed in the embodiment above.

In the computer implemented method disclosed herein, the design and flowof the steps performed by the file networking system is deliberate,designed, and directed. Every communication and processing stepperformed by the file networking system steers the computer implementedmethod disclosed herein towards a finite set of predictable outcomes.The file networking system implements one or more specific computerprograms to direct the computer implemented method towards a set of endresults. The communications established by the file networking systemallow the file networking system to receive the content for a file, theuser role, the usage agreement, etc., from users. Through the executionof separate and autonomous computer programs, the file networking systeminjects a tracking code with widgets for user activities into portablecopies of the content file distributed to the users who consent to theusage agreement and receives the tracking information comprising thetouchpoints from the portable local copies of the content file with theinjected tracking code on the user devices of the users. From thistracking information, the file networking system indexes the touchpointsand creates a satellite internet of users of the portable local copiesof the content file.

The computer implemented method disclosed herein effects an improvementto the field of authoring and publishing content by providing relevantengagement with consumers of the authored and published content. Thecomputer implemented method disclosed herein addresses a specificrequirement for engaging consumers of content by compiling usageinformation associated with the usage of the content downloaded by theconsumers onto their user devices and establishing communication betweenthe consumers, authors, and publisher of the content. Since conventionalmethods that attempt engagement with consumers do not assure continuedengagement after the consumers obtain the content, publishers andauthors are unable to fully utilize the marketing potential of thecontent by themselves, and instead depend on stores that sell thecontent.

In some cases, the publishers use a cloud computing environment or aproprietary software for content delivery, which increases cost for theconsumers who have to pay for the corresponding consequent network usageor proprietary software. As used herein, “cloud computing environment”refers to a processing environment comprising configurable computingphysical and logical resources, for example, networks, servers, storage,applications, services, etc., and data distributed over a network, forexample, the internet. The cloud computing environment provideson-demand network access to a shared pool of the configurable computingphysical and logical resources. The computer implemented methoddisclosed herein reduces the cost of network usage by minimizing thenetwork usage to merely communicate the tracking information forengagement, and that only if the consumer consents to a correspondingusage agreement. The computer implemented method disclosed hereinimproves the communication between the authors and the publishers byproviding a common platform in the form of a portable file with contentto send and receive communication from the users during generation ofthe content, both prior to and after publishing, as opposed toconverting between file formats and generating numerous files for thecontent in conventional methods. The computer implemented methoddisclosed herein further establishes communication between theconsumers, publishers, and authors of content for greater involvement inconsumption of the content within a content-centric social network.

Furthermore, the computer implemented method disclosed herein improvesthe functioning of the computer, that is, the user device, byintegrating with the basic functionality of the user device, throughaccess to underlying hardware resources of the user device. The computerimplemented method disclosed herein improves the functioning of thecomputer and provides an improvement in computer related technology asfollows: In the computer implemented method disclosed herein, the filenetworking system stores portable local copies of a content file on thefile networking system locally on the user device for consumption andtransmission of the portable local copy of the content file as desiredby a user of the user device. Moreover, the file networking systemfacilitates homing of the portable local copies of the content file bymaintaining the connectivity between the portable local copies of thecontent file and the file networking system that hosts the content file.The file networking system facilitates the homing of the portable localcopies of the content file using the respective injected tracking codesfor receiving file-level activity, for example, making copies of thefile, from the portable local copies of the content file. Throughhoming, the file networking system prevents unintended use of theportable copies of the content file. Furthermore, the file networkingsystem allows storage of the tracking information of the portable localcopies of the content file by the injected tracking code in each of theportable local copies of the content file locally on the user devicewhen there is no connectivity between the user device and the filenetworking system that hosts the content file. The file networkingsystem receives the stored tracking information on reestablishment ofthe connectivity, seamlessly establishes communication in the satelliteinternet of users of the portable local copies of the content file, andcompiles usage information associated with the usage of the portablelocal copies of the content file from the received tracking informationand the established communication between the users of the portablelocal copies of the content file. Hence, the user device is not requiredto be continuously connected to a network for a user of the user deviceto consume content of the portable local copy of the content file.Conventional methods for engaging the user utilize a cloud computingenvironment, which requires continuous connectivity to a network, forexample, the internet, or a proprietary software for consumption of thecontent, which requires installation of the proprietary software,thereby consuming resources of the user device. The computer implementedmethod disclosed herein improves efficiency of network usage and reduceswear and unnecessary usage of the hardware resources, for example, apower source such as a battery, the network interface, the memory, andthe processor of the user device. The software implementation of thefile networking system is an improvement in computer related technology.

Furthermore, the computer implemented method and system disclosed hereintransform data to effect a solution for transforming a content file intoa content-centric social network with managed connectivity and indexabletouchpoints. The data input to a computer, that is, the user device, istransformed as follows: The file networking system receives content,user roles, and the usage agreement from users, and automaticallydetects the user devices of the users as one of a computing device, forexample, laptops, desktops, etc., and a consuming device, for example,smartphones, tablet computing devices, etc. The file networking systemtransforms the content into a portable file that can be saved on theuser devices and set up for tracking and communication based on thecategory of the user devices, the usage agreement, and the user roles.In an embodiment, the file networking system transforms the portablefile into an application along with a codeset for tracking local usagein the satellite internet of users and for tracking communicationbetween the users in the satellite internet of users. Furthermore, thefile networking system transforms the tracking information received fromthe portable local copies of the content file on the user devices intousage information for obtaining various engagement metrics, providingfocused advertising, and engaging consumers of the content by beingaware of their particular interests.

Through the computer implemented method and system disclosed herein, anauthor of a book can interact with readers of the content file byopening a copy of the book to view concurrent readers and current pagesthey are involved in to a resolution of the word they are at in a page.The author can also sign copies of the book for the readers inaccordance with the computer implemented method disclosed herein. Inanother example, a teacher can step through a lesson along with studentsin synchronization in accordance with the computer implemented methoddisclosed herein. A publisher of a file can obtain usage data of thecontent file, engagement metrics, and information on users of thecontent file, and also set user rights management (URM) for the contentfile and provide the users with periodical updates to the content filein accordance with the computer implemented method disclosed herein. Anadvertiser can obtain information on the portions of a document mostused, most commented, most visited, etc., to know the most relevantplacement of advertisements in accordance with the computer implementedmethod disclosed herein. Users requiring privacy can opt to disallowgathering of tracking information and can opt to get engaged with otherusers at a later point in time. The computer implemented method andsystem disclosed herein allows engagement between users of a contentfile even with local storage of the content file, thereby allowinggreater privacy and lesser expenditure by reducing internet usage forthe users.

FIG. 2 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for distributing portable copiesof a content file to user devices and facilitating networking andengagement of users of the user devices with the distributed portablecopies, hereinafter referred to as “portable local copies”, of thecontent file. The file networking system receives 201 a uniform resourcelocator (URL) or a document to create a uniform resource identifier(URI) from a user device. The file networking system receives contentfrom the user device and generates a URI with the received content. Thegenerated URI is the content file that is stored on the file networkingsystem. The file networking system receives 202 a request to downloadthe generated URI from the user device. Along with the request, the userof the user device provides a user name, an electronic mail (email)address, a user role, and a usage agreement. The file networking systemchecks 203 whether the user intends to invite other users to view andengage with a portable local copy of the content file. If the user doesnot intend to invite other users, the file networking system proceeds todisplay 206 a proxy URI stripped of extraneous information as disclosedin the detailed description of FIG. 1. If the user intends to inviteother users, the file networking system receives 204 email addresses ofthe invited users from the user device. By contacting the invited usersusing the received email addresses, the file networking system receives205 user names, user roles, and a usage agreement from invitee userdevices of the invited users. The file networking system then displays206 a proxy URI stripped of extraneous information.

When the user initiates a download of the displayed proxy uniformresource identifier (URI), the file networking system sends 207 theproxy URI as an application with widgets for document annotation anduser invitation for the user to invite other users from the downloadedproxy URI, to a user device of the user. Moreover, the proxy URI sent bythe file networking system allows communication between the user and theinvited users that is independent of, or tethered to, an annotation madeon the proxy URI. The file networking system transforms the proxy URIinto an application as disclosed in the detailed description of FIG. 1.The application that is sent to the user device is the portable localcopy of the content file. Through the above steps performed by the filenetworking system, the user receives a portable local copy of thecontent file on the user device. The file networking system performs thefollowing steps to allow engagement between the file networking systemand the portable local copy of the content file on the user device andbetween the users of the portable local copies of the content filethrough the file networking system. The file networking system allows208 the user to interact with a document comprising the content in theproxy URI, that is part of the application sent by the file networkingsystem, through annotation and/or composition of messages that areuntethered or tethered to an annotation online and offline. In anoffline mode, the file networking system allows the user to interactwith the document when the application is not connected to the filenetworking system over a network by storing tracking information relatedto the interaction in a local storage in the user device as disclosed inthe detailed description of FIG. 1. The file networking system displays209 concurrent user activity of the users connected to the filenetworking system through the network as the concurrent user activityarises when the user is online, that is, connected to the filenetworking system over the network, and allows the user to respond tothe messages received from other users.

FIG. 3 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for indexing touchpoints ofportable local copies of the content file on user devices and providinganalytics data comprising the usage information of the portable localcopies of the content file based on the indexing. The file networkingsystem indexes 301 a title of a document, that is, the portable localcopy of the content file, on the user devices, along with user names,user electronic mail (email) addresses, user roles, and user activitiesof the users with the portable local copies of the content file on theiruser devices. The file networking system indexes the user activitiesthrough touchpoint indexing. Touchpoint indexing allows user activitiesperformed on a portable local copy of the content file to be harvested,facilitated by the injected tracking code in the portable local copy ofthe content file. The file networking system creates and stores 302distinct records of users invited by the user and independentdownloaders of the content file. The file networking system forms aprimary group comprising the user and the invited users and a secondarygroup comprising the independent downloaders of the document. Moreover,when the users of the portable local copies of the content file initiatea query for viewing analytics data obtained from tracking informationreceived from the portable local copies of the content file, the filenetworking system provides 303 the analytics data to the users based ontheir user roles. The analytics data provided by the file networkingsystem comprise the engagement metrics disclosed in the detaileddescription of FIG. 1.

FIG. 4 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system on a content file when a userrequests access to the content file on the file networking system. Whenthe user requests access to the content file on the file networkingsystem through a browser on a user device used by the user, the filenetworking system links 401 to a unique uniform resource identifier(uURI). The uURI, generated by the file networking system, points tocontent of the content file. The file networking system receives 402 atrigger to download the content file. In response, the file networkingsystem caches the uURI in the browser and upon a call to local storageaccompanying the trigger to download the content file, the filenetworking system radio collars 403 the content of the content file. Thefile networking system radio collars the content of the content file byinjecting a tracking code into the content of the content file based ona definition of a user role and a usage agreement received from the userprior to receiving the request to access the content file on the filenetworking system. The file networking system stores 404 the download,which is the radio collared content of the content file, as a portablelocal copy of the content file on the user device.

FIG. 5 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for receiving trackinginformation comprising usage information from a portable local copy of acontent file stored on a user device. The file networking system inserts501 hidden inline frame (iframe) tags automatically into a source filefrom which a portable local copy of the content file is downloaded tothe user device. By inserting the iframe tags into the source file, thefile networking system radio collars the portable local copy of thecontent file for tracking the portable local copy of the content file.The file networking system establishes 502 RESTful services forreceiving tracking information from the portable local copy of thecontent file stored on the user device. The file networking systemestablishes 503 a communication between the iframe tags in the portablelocal copy of content file stored on the user device and the RESTfulservices established on the file networking system. All portable localcopies of the content file with the iframe tags communicate with thefile networking system concurrently. When the portable local copy of thecontent file is in use, the file networking system receives 504 signalsfrom the iframe tags in the portable local copy of the content filethrough the RESTful services established on the file networking system.The received signals comprise the tracking information of the portablelocal copy of the content file on the user device.

The file networking system checks 505 whether there is a temporary lossof connectivity between the user device and the file networking system.If there is no loss of the connectivity, the file networking systemprocesses 508 the aggregated signals for compiling usage informationassociated with the usage of the portable local copy of the contentfile. If there is a temporary loss of the connectivity, the filenetworking system, according to the inline frame (iframe) tags insertedinto the source file, allows 506 caching of the signals from the iframetags in the portable local copy of the content file to a local storageon the user device. On reestablishment of connectivity between the userdevice and the file networking system, the file networking systemsynchronizes 507 all the aggregated signals that are stored in the localstorage of the user device with the signals received earlier from theiframe tags in the portable local copy of the content file with theuser. The file networking system processes 508 the aggregated signalscomprising the tracking information received from the iframe tags in theportable local copy of the content file to compile usage informationassociated with the usage of the portable local copy of the contentfile.

FIG. 6 exemplarily illustrates a high level process flow diagram for animplementation of the file networking system. The file networking systemprovides a graphical user interface (GUI), for example, a web interfacehosted on a web platform via the internet, that converts a uniformresource identifier (URI) to a data URI. The file networking systemsigns up 601 users to this web platform via the GUI. In an embodiment,the users comprise authors, publishers, and readers from whom the filenetworking system receives content in various forms through the GUI,thereby obtaining a URI of the content. The file networking systemprocesses 602 the content received from the users to create a data URI,and hence a file, and provides the users with portable local copies ofthe content file for local storage and subsequent transmission of thelocally stored portable local copies of the content file as desired bythe users. As part of a download of the portable local copies of thecontent file for local storage, the file networking system receives ausage agreement from the users to keep the content file engaged with thefile networking system and based on the usage agreement and a user role,the file networking system sets up the portable local copies of thecontent file for engagement.

The file networking system executes 603 computer program codes forreceiving tracking information comprising touchpoints from the portablelocal copies of the content file via a two-way communication establishedby the file networking system, indexing the touchpoints, creating asatellite internet of users of the portable local copies of the contentfile, establishing communication between the users of the portable localcopies of the content file, logging user activities in the portablelocal copies of the content file, and compiling usage informationassociated with the usage of the portable local copies of the contentfile as disclosed in the detailed description of FIG. 1. The filenetworking system also establishes communication between the users ofthe content file based on user rights management (URM) set up by apublisher of the content file as disclosed in the detailed descriptionof FIG. 1, thereby establishing a satellite internet of users of theportable local copies of the content file. The file networking systemsynchronizes 604 updates to the portable local copies of the contentfile by users with predetermined user rights with the content file asdisclosed in the detailed description of FIG. 1. The file networkingsystem provides managed synchronization of the portable local copies ofthe content file with the content file on the file networking system.

FIG. 7 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for setting up the filenetworking system for a first time user of the file networking system.The first time user signs up with the file networking system for thefirst time via the graphical user interface (GUI), for example, a webinterface provided by the file networking system. The file networkingsystem registers 701 the user on a server of an application serviceprovider. The application service provider provides the server for thefile networking system for executing the GUI to convert a uniformresource identifier (URI) to a data URI. The file networking systemreceives 702 consent from the user for usage of services associated witha user role, for example, a publisher, an author, or a reader, as a useragreement, and converts a URI linking to content to a data URI.

The file networking system configures 703 the usage of the servicesprovided by the file networking system based on a declaration of theuser role from the user. In an embodiment, the file networking systemregisters the user as more than one of a publisher, an author, and areader, and configures the usage of the services separately for eachuser role for the user. The file networking system checks 704 the userrole of the user. If the user role is that of a publisher, the filenetworking system provides 705 anonymity or visibility of metrics of allauthors and readers of portable local copies of the content file on theserver and allows analysis of usage information associated with theusage of the portable local copies of the content file by differentcross sections. The file networking system provides the portable localcopies of the content file to the users as disclosed in the detaileddescriptions of FIG. 1 and FIG. 4. The metrics of the authors and thereaders of the portable local copies of the content file comprise theengagement metrics disclosed in the detailed description of FIG. 1.

If the user role is that of an author, the file networking systemprovides 706 anonymity or visibility of concurrent readership of theportable local copies of the content file and allows the user tocommunicate with the readers. The file networking system providesvisibility of concurrent usage by compiling usage information from thetracking information received by the file networking system from theportable local copies of the content file. The file networking systemallows an author to communicate with the readers of the portable localcopies of the content file, for example, by providing the author with aninvisibility status that when activated does not provide visibility ofthe author's presence to the readers. This allows the author to viewlive metrics and usage of the portable local copies of the content fileby the readers without actively engaging with the readers. If the userrole is that of a reader, the file networking system provides 707anonymity or visibility of other concurrent readers to the user andallows the user to communicate with the other readers.

FIG. 8 exemplarily illustrates a flowchart comprising the stepsperformed by the file networking system for generating a content fileand setting up a portable local copy of the content file on a userdevice for networking and engagement. The file networking systemreceives 801 content from an author for subsequent processing of thecontent into a unique uniform resource identifier (uURI) file. The filenetworking system generates 802 a uURI with the content received fromthe author. The file networking system redirects 803 a user accessingthe graphical user interface (GUI) provided by the file networkingsystem through a browser on the user device to the uURI generated by thefile networking system and cached in the browser. When the user requestsaccess to the content in the uURI, the file networking system provides804 an option to the user to download the content as a single portableand trackable data uniform resource identifier (URI) file.

On a call to local storage of the content in the unique uniform resourceidentifier (uURI) by the user through the browser on the user device,the file networking system processes 805 the content in the uURI byinjecting a script that radio collars the data uniform resourceidentifier (URI) file that is provided to the user for download andlocal storage. The data URI file comprises the content in the uURI andthe script injected by the file networking system that allows the filenetworking system to receive tracking information from the data URI fileto compile usage information associated with the usage of the data URIfile. The data URI file is the downloaded portable local copy of thecontent file with extended document network (DNX) properties, where theDNX properties comprise the injected script and widgets. Using theinjected script and the widgets, the file networking system sets up theportable local copy of the content file for networking and engagement,thereby forming a content-centric social network, also referred to asthe “extended document network (DNX)”. The file networking systemselects 806 an option for setting up the downloaded file, that is, thedata URI file for tracking. The file networking system selects option 1if the user device that requests access to the content is a computingdevice, for example, a desktop or a laptop, and selects option 2 if theuser device that requests access to the content is a consuming device,for example, a tablet computing device or a smartphone.

Under option 1, the file networking system uses 807 inline frame(iframe) tags in the downloaded data uniform resource identifier (URI)file and RESTful services on the file networking system to establish asignaling handshake between the content cached in the browser of theuser device and the user downloaded content that is offline in thedownloaded data URI file. As used herein, “offline” refers to a statusof the content where the content is available for consumption by theuser on the user device even without a connection to the server througha network. Under option 2, the file networking system uses 808 aninjected proprietary script in the content that is cached in the browserof the user device to establish a signaling handshake between thecontent cached in the browser of the user device and the user downloadedcontent that is offline in the downloaded data URI file.

FIG. 9 exemplarily illustrates the steps performed by the filenetworking system 901 for establishing communication between users ofportable local copies of a content file on user devices and compilingusage information associated with usage of the portable local copies ofthe content file on the user devices. The file networking system 901communicates with authors, publishers, and readers to receive and sendinformation about a data uniform resource identifier (URI) file withextended document network (DNX) properties and processes the informationusing a DNX engine. The portable copies of the data URI file on the filenetworking system 901 implemented, for example, as a server are the dataURI files stored locally on user devices of the authors, publishers, andreaders. The file networking system 901 receives the content for thedata URI file from a user device of an author of the data URI file forDNX processing. The file networking system 901 communicates 902 with theuser device of the author of the data URI file as follows: The filenetworking system 901 receives 902 a desired DNX tagging from the userdevice of the author. The DNX tagging dictates the structure andpresentation of content provided by the author in the data URI file. Thefile networking system 901 also receives 902 b a visibility protocolfrom the user device of the author. The visibility protocol allows theauthor to view the data URI file of the readers without alerting thereaders of the data URI file, thereby allowing concurrent readership ofthe data URI file.

The file networking system 901 communicates 903 with a user device of apublisher of the data uniform resource identifier (URI) file as follows:The file networking system 901 sends 903 a the desired extended documentnetwork (DNX) tagging received from the user device of the author of thedata URI file to the user device of the publisher, receives 903 b theDNX tagging created by the publisher based on the desired DNX taggingfrom the user device of the publisher, and receives 903 c a setup ofuser rights management (URM) for data URI file users created by thepublisher of the data URI file from the user device of the publisher.Furthermore, the file networking system 901 sends 903 d usageinformation of the data URI file that the file networking system 901aggregates based on the tracking information received from the userdevices of the data URI file users, to the user device of the publisherfor data mining. Data mining is a computational process involvinginterdisciplinary fields of computer science for extracting informationfrom a data set for further use. The file networking system 901 receives903 e focused advertisements from the user device of the publisher to beserved to the users of the data URI file. The publisher providesadvertisements that are focused on the intended audience, that is, theusers of the data URI file, through the data mining performed on theusage information sent by the file networking system 901 to the userdevice of the publisher.

The file networking system 901 communicates 904 with the readers of thedata uniform resource identifier (URI) file as follows: The filenetworking system 901 receives 904 a tracking information from the dataURI files on the user devices of the readers. The file networking system901 also serves 904 b to set up if required, the focused advertisementsreceived from the user device of the publisher of the data URI file tothe data URI files on the user devices of the readers of the data URIfile. The file networking system 901 performs processing 905 with theextended document network (DNX) engine as follows: The file networkingsystem 901 recognizes 905 a the created DNX tagging received from theuser device of the publisher of the data URI file to create the data URIfile from the content received from the user device of the author of thedata URI file. The file networking system 901 then creates 905 b asatellite internet of DNX users based on the tracked usage of the dataURI files on the user devices of the readers of the data URI file.Furthermore, the file networking system 901 establishes 905 c acommunication between the users of the data URI file based on the setupof the user rights management (URM) received from the user device of thepublisher of the data URI file. Furthermore, the file networking system901 compiles 905 d usage information from the tracking informationreceived from the data URI files of the readers of the data URI file.Furthermore, the file networking system 901 synchronizes 905 e the dataURI file on the file networking system 901 with the data URI files onthe user devices of the readers in the created satellite internet ofdata URI file users as disclosed in the detailed description of FIG. 1.Furthermore, the file networking system 901 gathers 906 DNX metrics,that is, the engagement metrics from the data URI file users as follows:The file networking system 901 tracks 906 a metrics with contentrelevance maximized. Furthermore, the file networking system 901 tracks906 b metrics with usage relevance maximized. Furthermore, the filenetworking system 901 tracks 906 c metrics that are cross-referenced forrelevance maximization of both content and usage.

FIG. 10 exemplarily illustrates the steps performed by the filenetworking system 901 for synchronizing portable local copies of acontent file that are modified by users with predetermined user rights.The content file on the file networking system 901 implemented, forexample, as a server is a data uniform resource identifier (URI) filewith extended document network (DNX) properties as disclosed in thedetailed description of FIG. 8. The portable local copies of the contentfile are data URI files stored locally on user devices of users of thecontent file. The file networking system 901 updates 1001 the data URIfile with the DNX properties on the file networking system 901 byreceiving 1001 a corrections to the data URI file from users havingpredetermined user rights as disclosed in the detailed description ofFIG. 1. The file networking system 901 recognizes 1001 b an updatedversion of the data URI file and notifies 1001 c the users of the dataURI file about an availability of the updated version of the data URIfile for download.

Furthermore, the file networking system 901 allows 1002 users to enableor disable communication threads for receiving notifications from thefile networking system 901 regarding the availability of the updatedversion based on user rights management (URM) of the users. The URM isset up by a publisher of the data uniform resource identifier (URI)file. Furthermore, the file networking system 901 assigns 1003 aseparate identifier to changes made by each user having predetermineduser rights to the data URI file. The file networking system 901maintains user-wise deltas comprising the changes made by the users tothe data URI file along with the data URI file. As used herein, “deltas”refer to incremental information associated with the data URI file,comprising changes made by the users to the data URI file. Through theuser-wise deltas, the file networking system 901 allows the users of thedata URI file to view different tracks of the data URI file. Each trackof the data URI file shows the changes made to the data-URI file in oneof the user-wise deltas incorporated into the data URI file. The filenetworking system 901 assigns the same identifier to all changes made tothe data URI file by a particular user. Through the user-wise deltas,the file networking system 901 maintains 1004 data URI file specificannotations on the data URI file made by users of the data URI file,thereby allowing, for example, owners of a webpage to harvestannotations made by readers of the webpage anywhere the data URI fileexists as a unique uniform resource identifier (uURI) and to harvestcommunication between the readers of the webpage.

FIG. 11 exemplarily illustrates an implementation of a content-centricsocial network, also referred to as the “extended document network(DNX)” created by the file networking system 901 exemplarily illustratedin FIGS. 9-10. The tracking information received from the portable localcopies of the content file comprises metrics 1101 gathered from datauniform resource identifier (URI) file users as disclosed in thedetailed description of FIG. 9, where the data URI file has extendeddocument network (DNX) properties as disclosed in the detaileddescription of FIG. 8. The DNX metrics 1101 are grouped as applicable toa DNX universe 1102 comprising the data URI file users, to specific DNXprocessed URI file instances 1106, and to applied functionality 1114that can be realized as a consequence of gathering the DNX metrics 1101.The representation of the DNX metrics 1101 in FIG. 11, is illustrativeand not exhaustive. The DNX metrics 1101 applicable to the DNX universe1102 comprise word or phrase occurrence 1103 measured as a number ofoccurrences in the DNX universe 1102, and analyzed using a ranking byoccurrence. The DNX metrics 1101 applicable to the DNX universe 1102also comprise publishers 1104 measured as a number of file downloads ofdata URI files published by each of the publishers 1104, and analyzed,for example, using a pie chart, and authors 1105 measured as a number offile downloads of data URI files authored by each of the authors 1105,and analyzed, for example, using a pie chart.

The extended document network (DNX) metrics 1101 applicable to thespecific DNX processed uniform resource identifier (URI) file instances1106 comprise foreign internet protocol (IP) addresses 1107 of foreignusers measured as percentages of total data URI file users and analyzed,for example, using a pie chart. The DNX metrics 1101 applicable to thespecific DNX processed URI file instances 1106 further comprise internetprotocol (IP) addresses 1108 of the data URI file users measured using anumber of portable copies of the content file used in a region, acountry, and a city, and analyzed using, for example, a pie chart withdrill down options for displaying details. The DNX metrics 1101applicable to the specific DNX processed URI file instances 1106 furthercomprise cumulative downloads 1109 of the data URI file over timemeasured as a number of instances of downloads, and analyzed using, forexample, a line graph, and engagement 1110 measured as time spent on thedata URI file in days, and analyzed using, for example, a line graph.The DNX metrics 1101 applicable to the specific DNX processed URI fileinstances 1106 further comprise annotations density by region 1111 andannotations density by content origin 1112 measured using byte counts ofregions of the data URI file, for example, paragraphs, equations,floats, citations, etc. In an embodiment, the annotations density byregion 1111 is analyzed using a histogram, for example, by order ofoccurrence for the region of the data URI file, for example, using atable of contents. The annotations density by content origin 1112 isanalyzed by using, for example, a pie chart of annotations in a data URIfile user's own work and in other data URI files users' work for eachdata URI file user. The DNX metrics 1101 applicable to the specific DNXprocessed URI file instances 1106 further comprise chat indexing 1113measured as a number of favorable and unfavorable comments by data URIfile users, and analyzed by using, for example, a pie chart.

The extended document network (DNX) metrics 1101 applicable to theapplied functionality 1114 of the DNX comprise, for example, a digitaluser manual 1115 used by the data URI file users. The digital usermanual 1115 metric comprises a problem chart 1115 a metric measuredusing a number of clicks in a region of problem, and analyzed, forexample, using a pareto chart. The digital user manual 1115 metricfurther comprises a self-service 1115 b metric measured as a solutionprobability index using responses, for example, helpful or not helpfulindicators, from the data URI file users, and analyzed using, forexample, a pie chart. The extended document network (DNX) metrics 1101applicable to the applied functionality 1114 further compriseadvertisement targeting metrics 1116 based on the DNX universe and fileindexing 1116 a measured using a number of cumulative references to oneor more keywords in the DNX universe 1102, and analyzed using a rankingof uniform resource identifiers (URIs) from being the most likely to beaccessed to being the least likely to be accessed by the data URI fileusers. The DNX metrics 1101 are available to harvest their appliedfunctionality 1114. For example, the DNX metrics 1101 compriseadvertisement targeting metrics 1116 based on conversion data 1116 bmeasured as a number of trending URIs, and analyzed using a ranking ofURIs from being most likely to be accessed to being least likely to beaccessed by the data URI file users.

The extended document network (DNX) metrics 1101 can be used to generatea dashboard characterized by their units of measurement, and theiranalyses for consumption by users of the data uniform resourceidentifier (URI) file. Tabulated below are the DNX metrics 1101 based oninclusion into the DNX universe 1102, the DNX metrics 1101 of thespecific DNX processed URI files 1106, and a sampling of the appliedfunctionality 1114 possible using the DNX metrics 1101.

Context Data Element Unit of Measurement Analysis DNX Universe Word orPhrase Number of Ranking by occurrence occurrence occurrences in theentire Universe Publishers Number of file Pie chart downloads AuthorsNumber of file Pie chart downloads Specific DNX IP Address Number ofportable Pie with drill down processed URI copies (Region, file Country,city) Foreign IP Percent Pie chart Cumulative Number of highest Linegraph downloads over time instances file-wise Engagement (Time Timespent over days Line graph period of usage) Annotations Density ByteCount Histogram by order of by Region (Regions: Paragraph, occurrencefor the Float, Equation, document region (e.g. Citation, etc.) Table ofcontents) Annotations Density Byte Count Comparative pie chart byContent Origin (Regions: Paragraph, of annotations in own Float,Equation, primary group work Citation, etc.) and secondary other's workAnnotations/Chat Number of neutral, Pie chart Indexing negative,positive or constructive comments Applied Digital User Manual: Number ofclicks in Pareto chart functionality Problem Chart region of problemDigital User Manual: Solution Probability Pie chart Self-service(Helpful/Not Helpful) index Advertisement Number of URLs ranked by mosttargeting based on the references to “key likely to least likely DNXUniverse and word(s)” File Indexing cumulatively in the DNX universeAdvertisement Number of trending URLs ranked by most targeting based onURLs likely to least likely conversion data

FIG. 12 exemplarily illustrates a computer implemented system 1200comprising the file networking system 901 for transforming a contentfile into a content-centric social network with managed connectivity andindexable touchpoints. The file networking system 901 is a computersystem that is programmable using a high level computer programminglanguage. In an embodiment, the file networking system 901 usesprogrammed and purposeful hardware. The file networking system 901 isimplemented on a computing device, for example, a personal computer, atablet computing device, a mobile computer, a portable computing device,a laptop, a touch device, a workstation, a server, portable electronicdevice, a network enabled computing device, an interactive networkenabled communication device, any other suitable computing equipment,combinations of multiple pieces of computing equipment, etc. In anembodiment, the computing equipment is used to implement applicationssuch as media playback applications, a web browser, an electronic mail(email) application, a calendar application, etc. In another embodiment,the computing equipment, for example, one or more servers are associatedwith one or more online services. In an embodiment, the file networkingsystem 901 is configured as a web based platform, for example, a websitehosted on a server or a network of servers.

The file networking system 901 communicates with user devices 1202 and1203 via the network 1201, for example, a short range network or a longrange network. The user devices 1202 comprising 1202 a, 1202 b, and 1202c, and 1203 comprising 1203 a, 1203 b, and 1203 c, are electronicdevices, for example, personal computers, tablet computing devices,mobile computers, mobile phones, smartphones, portable computingdevices, personal digital assistants, laptops, wearable computingdevices such as the Google Glass® of Google Inc., the Apple Watch® ofApple Inc., etc., touch centric devices, client devices, portableelectronic devices, network enabled computing devices, interactivenetwork enabled communication devices, any other suitable computingequipment, combinations of multiple pieces of computing equipment, etc.In an embodiment, the user devices 1202 and 1203 are hybrid computingdevices that combine the functionality of multiple devices. Examples ofa hybrid computing device comprise a cellular telephone that includes amedia player functionality, a gaming device that includes a wirelesscommunications capability, a cellular telephone that includes a documentreader and multimedia functions, and a portable device that has networkbrowsing, document rendering, and network communication capabilities.For purposes of illustration, the user device 1202 c is the user deviceof an author of the content file, and the user device 1203 c is the userdevice of a publisher of the content file. The user devices 1202 a, 1202b, 1203 a, and 1203 b are user devices of the readers of the contentfile. The user devices 1202 a, 1202 b, and 1202 c constitute the firstuser devices 1202. The user devices 1203 a, 1203 b, and 1203 cconstitute the invitee user devices 1203. The users of the second userdevices 1204 comprising the first user devices 1202 a, 1202 b, and 1202c, and the invitee user devices 1203 a, 1203 b, and 1203 c form asatellite internet of users.

The network 1201 is, for example, the internet, an intranet, a wirelessnetwork, a communication network that implements Bluetooth® of BluetoothSig, Inc., a network that implements Wi-Fi® of Wi-Fi AllianceCorporation, an ultra-wideband communication network (UWB), a wirelessuniversal serial bus (USB) communication network, a communicationnetwork that implements ZigBee® of ZigBee Alliance Corporation, ageneral packet radio service (GPRS) network, a mobile telecommunicationnetwork such as a global system for mobile (GSM) communications network,a code division multiple access (CDMA) network, a third generation (3G)mobile communication network, a fourth generation (4G) mobilecommunication network, a fifth generation (5G) mobile communicationnetwork, a long-term evolution (LTE) mobile communication network, apublic telephone network, etc., a local area network, a wide areanetwork, an internet connection network, an infrared communicationnetwork, etc., or a network formed from any combination of thesenetworks. In an embodiment, the file networking system 901 is accessibleto the satellite internet of users, for example, through a broadspectrum of technologies and devices such as cellular phones, tabletcomputing devices, etc., with access to the internet.

As exemplarily illustrated in FIG. 12, the file networking system 901comprises a non-transitory computer readable storage medium, forexample, a memory unit 901 a for storing programs and data, and at leastone processor 901 m communicatively coupled to the non-transitorycomputer readable storage medium. As used herein, “non-transitorycomputer readable storage medium” refers to all computer readable media,for example, non-volatile media, volatile media, and transmission media,except for a transitory, propagating signal. Non-volatile mediacomprise, for example, solid state drives, optical discs or magneticdisks, and other persistent memory volatile media including a dynamicrandom access memory (DRAM), which typically constitute a main memory.Volatile media comprise, for example, a register memory, a processorcache, a random access memory (RAM), etc. Transmission media comprise,for example, coaxial cables, copper wire, fiber optic cables, modems,etc., including wires that constitute a system bus coupled to theprocessor 901 m. The non-transitory computer readable storage medium isconfigured to store computer program instructions defined by modules,for example, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i, 901 j, 901k, 901 l, etc., of the file networking system 901. The modules, forexample, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i, 901 j, 901 k,901 l, etc., constitute the extended document network (DNX) enginedisclosed in the detailed description of FIG. 9. The modules 901 b, 901c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i, 901 j, 901 k, and 901 l areinstalled and stored in the memory unit 901 a of the file networkingsystem 901. The memory unit 901 a is used for storing programinstructions, applications, and data. The memory unit 901 a is, forexample, a random access memory (RAM) or another type of dynamic storagedevice that stores information and instructions for execution by theprocessor 901 m. The memory unit 901 a also stores temporary variablesand other intermediate information used during execution of theinstructions by the processor 901 m. The file networking system 901further comprises a read only memory (ROM) or another type of staticstorage device that stores static information and instructions for theprocessor 901 m.

The processor 901 m is configured to execute the computer programinstructions defined by the modules, for example, 901 c, 901 d, 901 e,901 f, 901 g, 901 h, 901 i, 901 j, 901 k, 901 l, etc., of the filenetworking system 901. The processor 901 m refers to any of one or moremicroprocessors, central processing unit (CPU) devices, finite statemachines, computers, microcontrollers, digital signal processors, logic,a logic device, an user circuit, an application specific integratedcircuit (ASIC), a field-programmable gate array (FPGA), a chip, etc., orany combination thereof, capable of executing computer programs or aseries of commands, instructions, or state transitions. In anembodiment, the processor 901 m is implemented as a processor setcomprising, for example, a programmed microprocessor and a math orgraphics co-processor. The processor 901 m is selected, for example,from the Intel® processors such as the Itanium® microprocessor or thePentium® processors, Advanced Micro Devices (AMD®) processors such asthe Athlon® processor, UltraSPARC® processors, microSPARC® processors,Hp® processors, International Business Machines (IBM®) processors suchas the PowerPC® microprocessor, the MIPS® reduced instruction setcomputer (RISC) processor of MIPS Technologies, Inc., RISC basedcomputer processors of ARM Holdings, Motorola® processors, Qualcomm®processors, etc. The file networking system 901 disclosed herein is notlimited to employing a processor 901 m. In an embodiment, the filenetworking system 901 employs a controller or a microcontroller.

As exemplarily illustrated in FIG. 12, the file networking system 901further comprises a data bus 901 p, a network interface 901 q, aninput/output (I/O) controller 901 r, input devices 901 s, a fixed mediadrive 901 t such as a hard drive, a removable media drive 901 u forreceiving removable media, output devices 901 v, etc. The data bus 901 ppermits communications between the modules, for example, 901 a, 901 m,901 n, 901 q, 901 r, 901 s, 901 t, 901 u, 901 v, etc., of the filenetworking system 901. The network interface 901 q enables connection ofthe file networking system 901 to the network 1201. In an embodiment,the network interface 901 q is provided as an interface card alsoreferred to as a line card. The network interface 901 q comprises, forexample, one or more of an infrared (IR) interface, an interfaceimplementing Wi-Fi® of Wi-Fi Alliance Corporation, a universal serialbus (USB) interface, a FireWire® interface of Apple Inc., an Ethernetinterface, a frame relay interface, a cable interface, a digitalsubscriber line (DSL) interface, a token ring interface, a peripheralcontroller interconnect (PCI) interface, a local area network (LAN)interface, a wide area network (WAN) interface, interfaces using serialprotocols, interfaces using parallel protocols, Ethernet communicationinterfaces, asynchronous transfer mode (ATM) interfaces, a high speedserial interface (HSSI), a fiber distributed data interface (FDDI),interfaces based on a transmission control protocol (TCP)/internetprotocol (IP), interfaces based on wireless communications technologysuch as satellite technology, radio frequency (RF) technology, nearfield communication, etc. The I/O controller 901 r controls inputactions and output actions performed by the file networking system 901.

The display screen 901 n, via the graphical user interface (GUI) 901 o,displays content of the content file, display interfaces, user interfaceelements such as chat windows, etc. The display screen 901 n is, forexample, a video display, a liquid crystal display, a plasma display, anorganic light emitting diode (OLED) based display, etc. The filenetworking system 901 provides the GUI 901 o on the display screen 901n. The GUI 901 o is, for example, an online web interface, a web baseddownloadable application interface, a mobile based downloadableapplication interface, etc. The display screen 901 n displays the GUI901 o. The input devices 901 s are used for inputting data into the filenetworking system 901 for routine maintenance of the file networkingsystem 901. The input devices 901 s are, for example, a keyboard such asan alphanumeric keyboard, a microphone, a joystick, a pointing devicesuch as a computer mouse, a touch pad, a light pen, a physical button, atouch sensitive display device, a track ball, a pointing stick, anydevice capable of sensing a tactile input, etc. The output devices 901 voutput the results of operations performed by the file networking system901.

The modules of the file networking system 901 comprise a datacommunication module 901 c, a code injection module 901 d, a filedistribution module 901 e, a network communication module 901 f, anindexing engine 901 g, a satellite internet creation module 901 h, anactivity logging module 901 i, a file update module 901 j, anotification module 901 k, and a usage analytics engine 901 l stored inthe memory unit 901 a of the file networking system 901. The codeinjection module 901 d injects a tracking code with widgets for useractivities into each of one or more portable copies of the content fileon the file networking system 901 based on preconfigured criteria inresponse to a request to access the content file from one or more of thefirst user devices 1202, for example, 1202 a and 1202 b as disclosed inthe detailed description of FIG. 1. An example of a code snippet of thecode injection module 901 d executed by the processor 901 m of the filenetworking system 901 for injecting the tracking code and creating thewidgets for the user activities in each portable copy of the contentfile based on preconfigured criteria in response to a request to accessthe content file from the user devices 1202 a, 1202 b, 1202 c, 1203 a,1203 b, and 1203 c, is provided below:

 <style type=“text/css”>  <!--  body {   width: 100%;  }  .ph5-content {   width: 70%;   margin-left: 2%;   padding-right: 10pt;   overflow:scroll;  }  p  {   text-align: justify;  }  .buttons {   display: none; }   #com {    float:right;   }   #idiv {    width: 20%;    height:100%;  }   #i_frame {    display: block;    border: 0;    overflow: auto;   }.chat_wrapper {     width: 300px;     margin-right: auto;    margin-left: auto;     background: #CCCCCC;     border: 1px solid#999999;     padding: 10px;     font-size: 12px;     font-family:tahoma,verdana,arial,sans-serif;  }  .chat_wrapper .message_box {    background: #FFFFFF;     height: 150px;     overflow: auto;    padding: 10px;     border: 1px solid #999999;  }  .chat_wrapper.panel input{     padding: 2px 2px 2px 5px;  }  .system_msg{color:#BDBDBD;font-style: italic;}  .user_name{font-weight:bold;} .user_message{color: #88B6E0;}  -->  </style>  <scriptlanguage=“javascript” type=“text/javascript”> $(document).ready(function($){    var title =document.getElementsByTagNamectitleIntextContent;     var stl =title.replace(/[{circumflex over ( )}a-z0-9]+/gi, “-”).substring(0,40);   if(stl == “”) { stl = “Unknown-title”; }    $(“#name”).val(userName);   $(window).on(“beforeunload”, function(ev) {    loadIframe(“http://localhost/ph5/users.php/” + userName + “/” +userRole + “/2/” + stl);       refreshAllClients( );       return“bye!”;    });    rangy.init( );    var highlighter =rangy.createHighlighter( );   highlighter.addClassApplier(rangy.createClassApplier(“highlight”, {     ignoreWhiteSpace: true,      tagNames: [“span”, “a”]    }));   function highlightSelectedText( ) {    highlighter.highlightSelection(“highlight”);    }    functionrefreshAllClients( ) {       var msg = {        message: “!.!”,       name: userName,        title: stl       };       //convert andsend data to server       websocket.send(JSON.stringify(msg));    }    //create a new WebSocket object.     var wsUri =“ws://localhost:9000/ph5/chat-server.php”;     websocket = newWebSocket(wsUri);     websocket.onopen = function(ev) { // connection isopen      $(‘#message_box’).append(“<divclass=\”system_msg\“>Connected!</div>”); //notify user         //preparejson data  refreshAllClients( );      }     $(‘#send-btn’).click(function( ){//use clicks message send button      var mymessage = $(‘#message’).val( ); //get message text       varmyname = $(‘#name’).val( ); //get user name       var hText =$(“.highlight”).first( ).text( );       if(myname == “”){ //empty name?       alert(“Enter your Name please!”);        return;       }      if(mymessage == “”){ //empty message?        alert(“Enter Somemessage Please!”);        return;       }       //prepare json data      var msg = {       message: mymessage,       name: myname,      title: stl,      hit: hText       };       //convert and send datato server       websocket.send(JSON.stringify(msg));      $(‘#message’).val(‘’); //reset text    });  $(‘#message’).mousedown(function( ){ //user clicks on message inputbox   removeHighlightClass( );   highlightSelectedText( );    });   //#### Message received from server?    websocket.onmessage =function(ev) {     var msg = JSON.parse(ev.data); //PHP sends Json data    var type = msg.type; //message type     var umsg = msg.message;//message text     var uname = msg.name; //user name     var mtl =msg.title; //doc title   var htxt = msg.hlt; //highlighted text     varucolor = msg.color; //color       if((umsg == null && uname == null)umsg == “!.!”)       {        if(uname != userName && uname != null)   {         loadIframe(“http://localhost/ph5/users.php/” + uname +“/reader/0/” + stl);        }       }       else if(type == ‘usermsg’ &&mt1== stl)       {          $(‘#message_box’).append(“<div title=\“” +htxt + “\” onClick=\“highlightTitle(this);\”><span class=\“user_name\”style=\“color:#”+ucolor+“\”>“+uname+”</span> : <spanclass=\“user_message\”>“+umsg+“</span></div>”);      removeHighlightClass( );       $(“.ph5-content”).highlight(htxt);      }       else if(type == ‘system’)       {         $(‘#message_box’).append(“<divclass=\“system_msg\”>“+umsg+”</div>”);       }    };   websocket.onerror = function(ev){$(‘#message_box’).append(“<divclass=\“system_error\”>Error Occurred - “+ev.data+”</div>”);};   websocket.onclose = function(ev){$(‘#message_box’).append(“<divclass=\“system_msg\”>Connection Closed</div>”);};   });   </script>  <div id=“com”>   <div id=“invite”>   To invite friends add theiremails here: <br />   <input type=“text” name= “email-invites” id=“email-invites” placeholder=“Separate emails by comma” maxlength=“70”style=“width:60%” />   <button id=“invite-btn”>Invite</button>   </div>  <div id=“idiv”></div>   <div class=“chat_wrapper”>   <divclass=“message_box” id=“message_box”></div>   <div class=“panel”name=“panel” id=“paner>   From: <input type= “text” name=“name”id=“name” placeholder=“Your Name” maxlength=“10” style=“width:20%”readonly/> To: <input type= “text” name=“sname” id=“sname” value=“All”maxlength=“10” style=“width:20%” /><br />   <input type=“text”name=“message” id=“message” placeholder=“Type message here”maxlength=“130” style=“width:90%” /><br />   <buttonid=“send-btn”>Send</button>   </div>   </div>   </div>   </div>

An example of a code snippet executed by the processor 901 m of the filenetworking system 901 for creating a chat server and establishingcommunication between the users of the portable copies of the contentfile using the chat server is provided below:

  <?php use Ratchet\Server\IoServer; use Ratchet\Http\HttpServer; useRatchet\WebSocket\WsServer; use Ph5\Chat; require ‘vendor/autoload.php’;require ‘chat/Chat.php’; $server = IoServer::factory(  newHttpServer(new WsServer(new Chat( ))),  9000 ); $server->run( );

The file distribution module 901 e distributes the portable copies ofthe content file with the respective injected tracking codes to one ormore of the second user devices 1204, for example, 1202 a, 1202 b, 1202c, 1203 a, 1203 b, and 1203 c through the network 1201 based on inviteinformation received by the data communication module 901 c of the filenetworking system 901 with the request to access the content file asdisclosed in the detailed description of FIG. 1.

An example of a code snippet of the file distribution module 901 eexecuted by the processor 901 m of the file networking system 901 forallowing the first user devices 1202 to invite other user devices 1203is provided below:

  function inviteColleagues(emails, link) {  var emailArray = split(“,”,emails);  var len =email_array.length;  for(var i=0; i<len; i++) {  sendEmail(email_array[i], link);  } }

By receiving the invite information, the file networking system 901allows the first user devices 1202 to invite other user devices, thatis, the invitee user devices 1203 addressed in the invite information,to access the content file. An example of another code snippet of thefile distribution module 901 e executed by the processor 901 m of thefile networking system 901 for distributing the portable copies of thecontent file with the respective injected tracking codes to one or moreof the second user devices 1204 based on the invite information receivedby the data communication module 901 c of the file networking system 901is provided below. The code snippet below allows the first user devices1202 to invite other user devices, that is, the invitee user devices1203 using a pre-populated invite form.

    $app->gen(‘/email-invitation’, function ( ) use ($app) {     $name =$app->request->get(‘user’);     $email = $app->request->get(‘email’);     $emails = $app->request->get(‘emails’);      $url =$app->request->get(‘url’);      $title = $app->request->get(‘title’);    $subject = “ReadSpiral invitation”;     $ems = split(“,”, $emails);    for($i=0; $i<$ems.length; $i++) {      $download_url =“http://localhost/ph5/ph5.php/download?url=” . $url . “&email=” .$ems[$i];      $click = “<a href=\“” . $download_url . “\”>clickhere</a>”;      $invite = “Hi,<br><br>        You have been invited tobe part of a group that is discussing: “ . $title .”.        Please “ .$click . ”, then add your name and download ReadSpiral content<br>       <br>        Thanks        <br><br>        “. $name;      $mail =new PHPMailer;      send_email($email, $ems[$i], $subject, $invite);    }   });   function send_email($from_email, $to_email, $subject,$body) {    $mail->setFrom($from_email, ‘Mailer’);   $mail->addAddress($to_email);    $mail->isHTML(true);         // Setemail format to HTML    $mail->Subject = $subject;    $mail->Body =$body;    if(!$mail->send( )) {     echo ‘Message could not be sent.’;    echo ‘Mailer Error: ’ . $mail->ErrorInfo;    } else {     echo‘Message has been sent’;    }   }

The network communication module 901 f establishes a bidirectionalcommunication between the file networking system 901 and the distributedportable copies, hereinafter referred to as “portable local copies” ofthe content file on the second user devices 1204, for example, 1202 a1202 b, 1202 c, 1203 a, 1203 b, and 1203 c through the network 1201 asdisclosed in the detailed description of FIG. 1. An example of a codesnippet of the network communication module 901 f executed by theprocessor 901 m of the file networking system 901 for establishing abidirectional communication between the file networking system 901 andthe portable local copies of the content file on the second user devices1204 through the network 1201 is provided below:

     //create a new WebSocket object.    var wsUri =“ws://www.readchilli.com:9000/ph5/chat-server.php”;    websocket = newWebSocket(wsUri);    websocket.onopen = function(ev) { // connection isopen    $(‘#message_box’).append(“<divclass=\“system_msg\”>Connected!</div>”); //notify user    //prepare jsondata        refreshAllClients( );       }   //-----------------------------------------------------------   //-----------------------------------------------------------   $webserver = IoServer::factory(     new HttpServer(new WsServer(newChat( ))),9000);

The data communication module 901 c receives tracking informationcomprising touchpoints based on usage of the portable local copies ofthe content file via the established bidirectional communication whilemanaging to cover for loss of connectivity over the network 1201 asdisclosed in the detailed description of FIG. 1. The code snippet of thedata communication module 901 c executed by the processor 901 m of thefile networking system 901 for receiving tracking information comprisingthe touchpoints based on the usage of the portable local copies of thecontent file via the established bidirectional communication whilemanaging to cover for loss of connectivity over the network 1201 isprovided below:

  $(‘#send-btn’).click(function( ){ //use clicks message send button varmymessage = $(‘#message’).val( ); //get message text var name =$(‘#name’).val( ); //get user name var xuid = “”; //get chat xuidif($(“input[name=chat_uid”]This(“:checked”)) { xuid =$(“input[name=chat_uid]:checked”).val( );     } var hlt =$(“.temp-highlight”).first( ).text( ); var ihlt = getHighlightInstance(); var date = new Date( ); var uid = “annot_” + name + “_” +date.getTime( ); if(name == “”){ //empty name?          alert(“Enteryour Name please!”);          return;       }       if(mymessage == “”){//empty message?          alert(“Enter Some message Please!”);         return;       } console.log(“xuid-in:” + xuid); //prepare jsondata var msg = {       message: mymessage,      type: “usermsg”,      name: name,       title: stl,      hlt: hlt,      ihlt: ihlt,     uid: uid,      xuid: xuid       }; //convert and send data toserver websocket.send(JSON.stringify(msg)); //reset message and radio$(‘#message’).val(”); //reset text$(“input[name=chat_uid]:checked”).prop(‘checked’, false);$(“.temp-highlight”).removeClass(“temp-highlight”);   });

The indexing engine 901 g indexes the touchpoints in the receivedtracking information for tracking the usage of the portable local copiesof the content file as disclosed in the detailed description of FIG. 1.An example of a code snippet of the indexing engine 901 g executed bythe processor 901 m of the file networking system 901 for indexing thetouchpoints in the received tracking information for tracking the usageof the portable local copies of the content file is provided below:

     public function onMessage(ConnectionInterface $from, $msg) {     $numRecv = count($this->clients) - 1;      echo sprintf(‘Connection%d sending message “%s” to %d other connection%s’. “\n”       ,$from->resourceId, $msg, $numRecv, $numRecv == 1 ? ”: ‘s’);      foreach($this->clients as $client) {       // restrict messages to users withthe same document title/url       $ip = $client->remoteAddress;      $data = json_decode($msg, true);       $title = $data[‘title’];      $name = $data[‘name’];       $sql_check = “SELECT * FROM user_list             WHERE name = ‘$name’              AND ip = ‘$ip’             AND title = ‘$title’”;       $user = “root”;        $pass =“rt45uk1”;        $db = “mysql”;        $rconn = new\mysqli(“localhost”, $user, $pass, $db) or die(“unable to connect”);      $nr = $rconn->query($sql_check)->num_rows;     echo “\n msg from:client-” . $from->resourceId . “, with ip:” . $ip . “and nr:”. $nr.“\n”;       //temporary patch required if msg dies reach       //$nr =1;       if ($from != “” and $nr > 0) {        // The sender is not thereceiver, send to each client connected        $type = $data[‘type’];       $message = $data[‘message’];        $uid = $data[‘uid’];       $xuid = $data[‘xuid’];        $flag = 1;        //if($type ==“usermsg”) { $flag = 0; }        if($flag) {         $hlt =$data[‘hlf’];         $ihlt = $data[‘ihlt’];          $sql = “INSERTINTO user_chat (name, ip, msg, title, hlt, ihlt, uid, xuid)             VALUES (‘$name’, ‘$ip’, ‘$message’, ‘$title’, ‘$hlt’,‘$ihlt’, ‘$uid’, ‘$xuid’)”;          $conn = new \mysqli(“localhost”,$user, $pass, $db) or die(“unable to connect”);          if($conn->query($sql) === TRUE) {          echo “\n New record createdsuccessfully \n”;         }          else {          echo “\n Error: ”.$sql . “\n”. $conn->error;          }        }       $client->send(json_encode($data));       }      }     }    public function onClose(ConnectionInterface $conn) {      // Theconnection is closed, remove it, as we can no longer send it messages     $this->clients->detach($conn);      echo “Connection{$conn->resourceId} has disconnected\n”;     }

The indexing engine 901 g also distinguishes the indexed touchpoints inthe portable local copies of the content file into neutral, negative,positive, and double positive as disclosed in the detailed descriptionof FIG. 1. An example of another code snippet of the indexing engine 901g executed by the processor 901 m of the file networking system 901 fordistinguishing between neutral, negative, positive, and double positivetouchpoints in the portable local copies of the content file is providedbelow:

     Advanced Search Query:    Text Search possible in following fields:   Name, locale, doc-title, url, msg (chat message), hlt (highlightedtext), hlt-type (highlighted type), time    Highlighted type   ================    0 = neutral (see this)    −1 = negative(disagree/hate this)    1 = positive (love this)    2 = double positive(i add to this)    Search $txt in highlighted text with positivefeedback for one week:    SELECT t1.*       FROM user_chat t1.hlt      WHERE t1.hlt.contains($txt)       AND t1.date =            (SELECT MAX(t2.date)               FROM user_list t2              WHERE t2.name = t2.name               LIMIT 1)            AND t1.date > DATE_ADD(CURDATE( ), INTERVAL -1 WEEK)         AND hlt-type > 0             “ORDER BY t1.date DESC”;

The satellite internet creation module 901 h creates a satelliteinternet of users of the portable local copies of the content file onthe second user devices 1204 based on the invite information and thetracked usage of the portable local copies of the content file.Moreover, the satellite internet creation module 901 h establishescommunication between the users of the portable local copies of thecontent file on the second user devices 1204 in the created satelliteinternet of users using one or more of the widgets for the useractivities through the injected tracking codes and the indexedtouchpoints, thereby transforming the content file into thecontent-centric social network with the managed connectivity and theindexable touchpoints. An example of a code snippet of the satelliteinternet creation module 901 h executed by the processor 901 m of thefile networking system 901 for establishing communication between theusers of the portable local copies of the content file on the seconduser devices 1204 in the created satellite internet of users using oneor more of the widgets for the user activities through the injectedtracking codes and the indexed touchpoints is provided below:

     // -------satellite-id is more like family name of login user namewhich follows after a colon    function getGroupName($userName) {    return $userName.replace(∧p{L}+:/, “”);    }    functiononMessageWithGid(ConnectionInterface $from, $msg, $gid) {     $data =json_decode($msg, true);     $groupName = getGroupName($data[“name”]);    if ($groupName == “”) {      onMessage(ConnectionInterface $from,$msg);     }     else if($gid == $groupName) {     onMessage(ConnectionInterface $from, $msg);     }     else {     doNothing( );     }    }

Furthermore, the satellite internet creation module 901 h groups thesecond user devices 1204 comprising the first user devices 1202 and theinvitee user devices 1203 into one or more groups automatically based onthe access of the content file. Using the grouping, the satelliteinternet creation module 901 h configures the establishment of thecommunication between the users of the portable local copies of thecontent file on the second user devices 1204 in the created satelliteinternet of users as disclosed in the detailed description of FIG. 1.

The activity logging module 901 i logs user activities in the portablelocal copies of the content file on the second user devices 1204 in thecreated satellite internet of users using one or more of the widgets forthe user activities through the injected tracking codes for establishingthe communication between the users of the portable local copies of thecontent file on the second user devices 1204 in the created satelliteinternet of users. The injected tracking code in each of the portablelocal copies of the content file stores the tracking information locallyon the second user devices 1204 on the loss of the connectivity betweenthe file networking system 901 and the portable local copies of thecontent file over the network 1201. The data communication module 901 creceives the stored tracking information from the portable local copiesof the content file on reestablishment of the connectivity between thefile networking system 901 and the portable local copies of the contentfile over the network 1201.

The table below illustrates different scenarios for logging useractivities in the portable local copies of the content file on a seconduser device, for example, 1203 a in the created satellite internet ofusers based on the availability of network connectivity and status ofthe portable local copy of the content file using one or more of thewidgets for user activities through the injected tracking code.

Status of the portable local copy of the content Status of logging userfile on a activities in the portable Status of second local copies ofthe content the network user file on the second user connectivity devicedevices Remarks Yes Open Accrual of user activities User activities onon the portable local the portable local copies of the content filecopies of the on all the second user content file are devices in thegrabbed continuously content file logged. Yes Closed Accrual of the userUser activities on activities on the portable the portable local localcopies of the content copy of the file on other second user content fileare devices in the grabbed logged when the content file. portable localcopy of the content file is opened on the second user device No OpenAccrual of the user User activities on activities on the portable theportable local local copy of the content copy of the file on the seconduser content file are device in the grabbed logged on content fileregaining network connectivity, but not logged if the portable localcopy of the content file is closed without regaining networkconnectivity No Closed No accrual of the user activities on the portablelocal copy of the content file on the second user device

Consider an example where a portable local copy of the content file isopen on the second user device 1203 a and the network connectivitybetween the second user device 1203 a and the file networking system 901is available. In this example, the file networking system 901 accruesuser activities on the portable local copies of the content file on allsecond user devices 1204 including the second user device 1203 a in thegrabbed content file, that is, the content file on the file networkingsystem 901. Thus, the user activities on the portable local copies ofthe content file on all the second user devices 1204 are continuouslylogged. Consider another example where a portable local copy of thecontent file is closed on the second user device 1203 a and the networkconnectivity between the second user device 1203 a and the filenetworking system 901 is available. In this example, the file networkingsystem 901 accrues user activities on the portable local copies of thecontent file on other second user devices, for example, 1202 b, 1203 b,etc., except second user device 1203 a in the grabbed content file, thatis, the content file on the file networking system 901. The useractivities on the portable local copy of the content file on the seconduser device 1203 a are logged with the content file on the filenetworking system 901 when the portable local copy of the content fileis opened on the second user device 1203 a.

Consider another example where a portable local copy of the content fileis open on the second user device 1203 a and the network connectivitybetween the second user device 1203 a and the file networking system 901is unavailable, that is, there is a loss of the network connectivity. Inthis example, the file networking system 901 accrues user activities onthe portable local copy of the content file on the second user device1203 a in the grabbed content file, that is, the content file on thefile networking system 901. The file networking system 901 logs the useractivities on the portable local copy of the content file on the seconduser device 1203 a only when the network connectivity is regained. Theuser activities on the portable local copy of the content file on thesecond user device 1203 a are lost if the portable local copy on thesecond user device 1203 a is closed before regaining the networkconnectivity. Consider another example where the portable local copy ofthe content file is closed on the second user device 1203 a and thenetwork connectivity between the second user device 1203 a and the filenetworking system 901 is unavailable. In this example, the filenetworking system 901 does not log the user activities on the portablelocal copy of the content file on the second user device 1203 a in thegrabbed content file, that is, the content file on the file networkingsystem 901.

The data communication module 901 c detects computing devices andconsuming devices from among the second user devices 1204 for theestablishment of the bidirectional communication between the filenetworking system 901 and the portable local copies of the content filebased on the detection as disclosed in the detailed description ofFIG. 1. Furthermore, the detection by the data communication module 901c is used for the establishment of the communication between the usersof the portable local copies of the content file in the createdsatellite internet of users as disclosed in the detailed description ofFIG. 1. In an embodiment, the data communication module 901 c receivesupdates made to the portable local copies of the content file by usersof one or more of the second user devices, for example, 1203 a based onpredetermined user rights associated with the users as disclosed in thedetailed description of FIG. 1. The file update module 901 j updates thecontent file based on the received updates. The notification module 901k generates and transmits notifications of an availability of theupdated content file to users of the second user devices 1204 forproviding access of the updated content file to the second user devices1204. An example of a code snippet executed by the processor 901 m ofthe file networking system 901 for generating and transmittingnotifications of an availability of the updated content file to users ofthe second user devices 1204 for providing access of the updated contentfile to the second user devices 1204 is provided below:

     function sendUserData( ) {     if(internetConnection == true) {    loadIframe(“http://www.readchilli.com/ph5/users.php/user-data?name=” +userName + “&role=” + userRole + “&flag=1&fitle=” + stl + “&email=” +email + “&url=” + encodeURIComponent(url));     }     else {      varuserdata = {       name : userName,       role: userRole,       flag: 1,      title: stl,       email: email,       url: url      }     localStorage.setItem(userdata, t);     }   };

The usage analytics engine 901 l compiles usage information associatedwith the usage of the portable local copies of the content file on thesecond user devices 1204 from the received tracking information and theestablished communication between the users of the portable local copiesof the content file on the second user devices 1204 in the createdsatellite internet of users. In an embodiment, the usage analyticsengine 901 l generates usage information from the tracking informationreceived from the portable local copies of the content file on thesecond user devices 1204 as disclosed in the detailed description ofFIG. 1. Examples of code snippets executed by the processor 901 m of thefile networking system 901 for compiling usage information associatedwith the usage of the portable local copies of the content file on thesecond user devices 1204 from the received tracking information and theestablished communication between the users of the portable local copiesof the content file on the second user devices 1204 in the createdsatellite internet of users are provided below. A code snippet executedby the processor 901 m of the file networking system 901 for determiningthe number of user devices connected to the file networking system 901at a particular point of time is provided below:

  $sql_week = “SELECT t1.*         FROM user_list t1             WHEREt1.date =              (SELECT MAX(t2.date)               FROM user_listt2               WHERE t2.name = t1.name               LIMIT 1)             AND t1.date > DATE_ADD(CURDATE( ), INTERVAL-1 WEEK)              AND t1.title = ’” . $title . “’” .             “ORDER BYt1.date DESC”;   $sql_current = “SELECT t1.*         FROM user_list t1            WHERE t1.date =              (SELECT MAX(t2.date)              FROM user_list t2               WHERE t2.name = t1.name              LIMIT 1)               AND t1.flag != 2               ANDt1.title = ’” . $title . “’” .             “AND t1.date >DATE_ADD(CURDATE( ), INTERVAL-1 WEEK)             ORDER BY t1.dateDESC”;

A code snippet executed by the processor 901 m of the file networkingsystem 901 for determining the number of user devices that connected tothe file networking system 901 over a week is provided below:

  $sql_week = “SELECT t1.*         FROM user_list t1             WHEREt1.date =              (SELECT MAX(t2.date)               FROM user_listt2               WHERE t2.name = t1.name               LIMIT 1)             AND t1.date > DATE_ADD(CURDATE( ), INTERVAL-1 WEEK)              AND t1.title = ’” . $title . “’” .             “ORDER BYt1.date DESC”;

The data communication module 901 c sends the compiled usage informationassociated with the usage of the portable local copies of the contentfile on the second user devices, for example, 1202 a, 1202 b, 1203 a,and 1203 b, of readers of the content file to a second user device 1203c of a publisher of the content file. The usage analytics engine 901 lfacilitates targeting of advertisements published by the publisher ofthe content file to the second user devices, for example, 1202 a, 1202b, 1203 a, and 1203 b, of the readers of the content file based on thecompiled usage information. An example of a code snippet executed by theprocessor 901 m of the file networking system 901 for facilitatingpublishing of target advertisements by the publisher of the content fileto the second user devices 1202 a, 1202 b, 1203 a, and 1203 b of thereaders of the content file based on the compiled usage information isprovided below:

  // -------Extracts keywords from title andannotations------------------- function getKeywords($title, $highlights){  $WAT = getWordArray(removeStopWords($title));  $WAH = $highlights; return getIndexedKeywords($WAT, $WAH); } function fetchAds( ) {  $data= json_decode($msg, true);  $title = data[“title”];  $highlights =data[“hlt”];  $keywords = getKeywords($title, $highlights);  $ads =fetchAdsForKeywords($keywords);  $msg = createAdsAsMessages($ads); sendMessagesToClient($msg); }

Furthermore, the usage analytics engine 901 l renders the compiled usageinformation associated with the usage of the portable local copies ofthe content file on the second user devices, for example, 1202 a, 1202b, 1203 a, and 1203 b, of the readers of the content file to the seconduser device 1202 c of the author of the content file. The authors of thecontent file can initiate a selective communication with the readers ofthe content file based on the compiled usage information and monitor theusage of the portable local copies of the content file on the seconduser devices 1202 a, 1202 b, 1203 a, and 1203 b of the readers of thecontent file. Furthermore, the data communication module 901 c sends thecompiled usage information associated with the usage of the portablelocal copies of the content file on the second user device 1202 c of theauthor of the content file to the second user device 1203 c of thepublisher of the content file. Furthermore, the data communicationmodule 901 c establishes a round-trip communication between the authorsof the content file and the publisher of the content file for review ofthe content file prior to publication of the content file and forperforming updates to the content file after the publication of thecontent file based on the compiled usage information as disclosed in thedetailed description of FIG. 1.

In an embodiment, the file networking system 901 stores the user roles,the usage agreement, the tracking information received from the portablelocal copies of the content file, etc., in the database 901 b of thefile networking system 901. The database 901 b of the file networkingsystem 901 can be any storage area or medium that can be used forstoring data and files. In an embodiment, the file networking system 901stores the tracking information in external databases, for example, astructured query language (SQL) data store or a not only SQL (NoSQL)data store such as the Microsoft® SQL Server®, the Oracle® servers, theMySQL® database of MySQL AB Company, the mongoDB® of MongoDB, Inc., theNeo4j graph database of Neo Technology Corporation, the Cassandradatabase of the Apache Software Foundation, the HBase™ database of theApache Software Foundation, etc. In another embodiment, the database 901b can be a location on a file system. In another embodiment, thedatabase 901 b can be remotely accessed by the file networking system901 via the network 1201. In another embodiment, the database 901 b isconfigured as a cloud based database implemented in a cloud computingenvironment, where computing resources are delivered as a service overthe network 1201.

Computer applications and programs are used for operating the modules ofthe file networking system 901. The programs are loaded onto the fixedmedia drive 901 t and into the memory unit 901 a of the file networkingsystem 901 via the removable media drive 901 u. In an embodiment, thecomputer applications and programs are loaded directly on the filenetworking system 901 via the network 1201. The processor 901 m executesan operating system, for example, the Linux® operating system, the Unix®operating system, any version of the Microsoft® Windows® operatingsystem, the Mac OS of Apple Inc., the IBM® OS/2, VxWorks® of Wind RiverSystems, Inc., QNX Neutrino® developed by QNX Software Systems Ltd., thePalm OS®, the Solaris operating system developed by Sun Microsystems,Inc., etc. The file networking system 901 employs the operating systemfor performing multiple tasks. The operating system is responsible formanagement and coordination of activities and sharing of resources ofthe file networking system 901. The operating system further managessecurity of the file networking system 901, peripheral devices connectedto the file networking system 901, and network connections. Theoperating system employed on the file networking system 901 recognizes,for example, inputs provided by a user of the file networking system 901using one of the input devices 901 s, the output devices 901 v, files,and directories stored locally on the fixed media drive 901 t. Theoperating system on the file networking system 901 executes differentprograms using the processor 901 m. The processor 901 m and theoperating system together define a computer platform for whichapplication programs in high level programming languages are written.

The processor 901 m of the file networking system 901 retrievesinstructions defined by the data communication module 901 c, the codeinjection module 901 d, the file distribution module 901 e, the networkcommunication module 901 f, the indexing engine 901 g, the satelliteinternet creation module 901 h, the activity logging module 901 i, thefile update module 901 j, the notification module 901 k, and the usageanalytics engine 901 l for performing respective functions disclosedabove. The processor 901 m retrieves instructions for executing themodules, for example, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i,901 j, 901 k, 901 l, etc., of the file networking system 901 from thememory unit 901 a. A program counter determines the location of theinstructions in the memory unit 901 a. The program counter stores anumber that identifies the current position in the program of each ofthe modules, for example, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901i, 901 j, 901 k, 901 l, etc., of the file networking system 901. Theinstructions fetched by the processor 901 m from the memory unit 901 aafter being processed are decoded. The instructions are stored in aninstruction register in the processor 901 m. After processing anddecoding, the processor 901 m executes the instructions, therebyperforming one or more processes defined by those instructions.

At the time of execution, the instructions stored in the instructionregister are examined to determine the operations to be performed. Theprocessor 901 m then performs the specified operations. The operationscomprise arithmetic operations and logic operations. The operatingsystem performs multiple routines for performing a number of tasksrequired to assign the input devices 901 s, the output devices 901 v,and the memory unit 901 a for execution of the modules, for example, 901c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i, 901 j, 901 k, 901 l, etc.,of the file networking system 901. The tasks performed by the operatingsystem comprise, for example, assigning memory to the modules, forexample, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901 i, 901 j, 901 k,901 l, etc., of the file networking system 901 and to data used by thefile networking system 901, moving data between the memory unit 901 aand disk units, and handling input/output operations. The operatingsystem performs the tasks on request by the operations and afterperforming the tasks, the operating system transfers the executioncontrol back to the processor 901 m. The processor 901 m continues theexecution to obtain one or more outputs. The outputs of the execution ofthe modules, for example, 901 c, 901 d, 901 e, 901 f, 901 g, 901 h, 901i, 901 j, 901 k, 901 l, etc., of the file networking system 901 aredisplayed to a user of the file networking system 901 on the outputdevice 901 v. In an embodiment, one or more portions of the filenetworking system 901 are distributed across one or more computersystems (not shown) coupled to the network 1201.

The non-transitory computer readable storage medium disclosed hereinstores computer program codes comprising instructions executable by atleast one processor 901 m for transforming a content file into acontent-centric social network with managed connectivity and indexabletouchpoints. The computer program codes comprise a first computerprogram code for injecting a tracking code with widgets for useractivities into each of one or more portable local copies of the contentfile based on the preconfigured criteria in response to a request toaccess the content file from the first user devices 1202; a secondcomputer program code for distributing the portable copies of thecontent file with the respective injected tracking codes to the seconduser devices 1204 through a network 1201 based on the invite informationreceived with the request to access the content file; a third computerprogram code for establishing a bidirectional communication between thefile networking system 901 and the distributed portable copies,hereinafter referred to as “portable local copies”, of the content fileon the second user devices 1204 through the network 1201; a fourthcomputer program code for receiving tracking information comprisingtouchpoints based on usage of the portable local copies of the contentfile via the established bidirectional communication while managing tocover for loss of connectivity over the network 1201; a fifth computerprogram code for indexing the touchpoints in the received trackinginformation for tracking the usage of the portable local copies of thecontent file; a sixth computer program code for creating a satelliteinternet of users of the portable local copies of the content file onthe second user devices 1204 based on the received invite informationand the tracked usage of the portable local copies of the content file;and a seventh computer program code for establishing communicationbetween the users of the portable local copies of the content file onthe second user devices 1204 in the created satellite internet of usersusing one or more of the widgets for the user activities through theinjected tracking codes and the indexed touchpoints, therebytransforming the content file into the content-centric social networkwith the managed connectivity and the indexable touchpoints.

In an embodiment, the seventh computer program code comprises an eighthcomputer program code for logging the user activities in the portablelocal copies of the content file on the second user devices 1204 in thecreated satellite internet of users using one or more of the widgets forthe user activities through the injected tracking codes for theestablishment of the communication between the users of the portablelocal copies of the content file on the second user devices 1204 in thecreated satellite internet of users. In another embodiment, the computerprogram codes further comprise a ninth computer program code forcompiling usage information associated with the usage of the portablelocal copies of the content file on the second user devices 1204 fromthe received tracking information and the established communicationbetween the users of the portable local copies of the content file onthe second user devices 1204 in the created satellite internet of users.The computer program codes further comprise one or more additionalcomputer program codes for performing additional steps that may berequired and contemplated for transforming a content file into acontent-centric social network with managed connectivity and indexabletouchpoints. In an embodiment, a single piece of computer program codecomprising computer executable instructions performs one or more stepsof the computer implemented method disclosed herein for transforming acontent file into a content-centric social network with managedconnectivity and indexable touchpoints. The computer program codescomprising computer executable instructions are embodied on thenon-transitory computer readable storage medium. The processor 901 m ofthe file networking system 901 retrieves these computer executableinstructions and executes them. When the computer executableinstructions are executed by the processor 901 m, the computerexecutable instructions cause the processor 901 m to perform the stepsof the computer implemented method for transforming the content fileinto a content-centric social network with managed connectivity andindexable touchpoints.

FIGS. 13A-13L exemplarily illustrate screenshots showing animplementation of the file networking system 901 exemplarily illustratedin FIG. 12, that transforms a content file into a content-centric socialnetwork with managed connectivity and indexable touchpoints. FIG. 13Aexemplarily illustrates a screenshot of a webpage 1301 on a website tobe processed by the file networking system 901 for generating portablecopies of the webpage 1301 for download by users and subsequent trackingof portable local copies of the webpage 1301. A user views the webpage1301 using a browser 1302 on a user device, for example, 1202 aexemplarily illustrated in FIG. 12, where the browser 1302 has ascrolling facility and tabs 1303 at a top section of the browser 1302indicating webpages that are open in the browser 1302. The tab thatdisplays the webpage 1301 is identified using an “x” mark 1304 on thetab. The user can view the webpages displayed by other tabs 1303 byselecting the other tabs 1303 of the browser 1302. An address bar 1305on the browser 1302 comprises a uniform resource identifier (URI), forexample, a uniform resource locator (URL) of the webpage 1301 beingviewed. The webpage 1301 exemplarily illustrated in FIG. 13A, comprisescontent, that is, an article 1306 with a name 1307 of an author of thearticle 1306, a date of publication 1308 of the article 1306, andextraneous information such as links to other articles 1309 a displayedon the website 1301 and advertisements 1309 b.

FIG. 13B exemplarily illustrates a screenshot of a hypertext markuplanguage (HTML) grabber displayed on the browser 1302 of a user device1202 a exemplarily illustrated in FIG. 12. The HTML grabber receives theuniform resource locator (URL) of the webpage 1301 exemplarilyillustrated in FIG. 13A, that is to be processed by the file networkingsystem 901 exemplarily illustrated in FIG. 12, and details of a firstuser who intends to download a portable copy of the webpage 1301 to alocal storage of the user device 1202 a. The article 1306 in the webpage1301 exemplarily illustrated in FIG. 13A, is the content that the filenetworking system 901 receives from the first user. The URL of thewebpage 1301 is a format in which the article 1306 can be received bythe file networking system 901. The links to other articles 1309 adisplayed on the webpage 1301 and the advertisements 1309 b exemplarilyillustrated in FIG. 13A, form the extraneous information that the filenetworking system 901 removes to generate the content file comprisingthe content, that is, the article 1306. The first user, who intends todownload the portable copy of the webpage 1301, provides the URL 1310 ofthe webpage 1301 and a user name 1311, for example, Alice. The firstuser, Alice, declares a user role 1312 to be, for example, that of areader by selecting a reader radio button instead of an author radiobutton displayed on the HTML grabber. Furthermore, Alice provides anelectronic mail (email) address 1313, for example, as“alice@myemailserver.com”, for identification. The HTML grabber providesan option for embedding image data 1314 of the webpage 1301 in theportable copy of the webpage 1301. Asterisks at the end of input fieldnames indicate mandatory fields. The first user, Alice, is required toenter details in the mandatory fields to proceed with the download ofthe portable copy of the webpage 1301. When Alice selects a downloadbutton 1315 rendered by the HTML grabber, the webpage 1301 is loaded inthe file networking system 901 in the browser 1302 on the user device1202 a as exemplarily illustrated in FIG. 13C.

As exemplarily illustrated in FIG. 13C, the webpage 1301 loaded in thebrowser 1302 on the user device 1202 a displays a usage agreement 1316and a download link 1317. The usage agreement 1316 informs the firstuser, Alice, that the file networking system 901 allows her to stayconnected even when offline, that is, when not connected to the network1201 exemplarily illustrated in FIG. 12, for example, the internet, fromwhere the webpage 1301 has been accessed. The displayed usage agreement1316 and the user role 1312 of the reader provided by the first user asdisclosed in the detailed description of FIG. 13B, constitute thepreconfigured criteria based on which the file networking system 901injects a tracking code with widgets for user activities in the portablecopy of the webpage 1301. The download link 1317 allows Alice todownload the portable copy of the webpage 1301 for local storage on theuser device 1202 a. The file networking system 901 injects the trackingcode into the portable copy of the webpage 1301 when Alice clicks on thedownload link 1317.

The file networking system 901 opens a right pane 1318 for interactionbetween users of portable local copies of the webpage 1301. The rightpane 1318 provides Alice an option to perform a user activity, forexample, invite friends to use the file networking system 901 fordiscussion about content in the webpage 1301 by providing inviteinformation, for example, by adding electronic mail (email) addresses ofher friends separated by commas in an input field 1324. If Alice selectsan invite button 1325, the file networking system 901 transmitsinvitation emails to the email addresses provided by Alice in the inputfield 1324. On the invitation of friends by Alice and a subsequentreceipt of the usage agreement and the user roles from the invitedfriends, the file networking system 901 groups Alice and the invitedfriends in a primary group as disclosed in the detailed description ofFIG. 1. As exemplarily illustrated in FIG. 13C, the right pane 1318indicates that there were six users who downloaded the portable copy ofthe webpage 1301 in the week that Alice visited the webpage 1301 throughthe file networking system 901. The file networking system 901 creates asatellite internet of users with the six users, Alice, and the invitedfriends who download the portable local copy of the webpage 1301 asdisclosed in the detailed description of FIG. 1.

The right pane 1318 also displays users who are connected to the samewebpage 1301 through the file networking system 901, which, in thisexample, is Alice. The right pane 1318 also indicates usage information,for example, the most recent date and time at which users have accessedthe same webpage 1301. For example, the right pane 1318 displays“2016-1-20” and “11:46:20” as the date and time that Alice last accessedthe webpage 1301. The access of the webpage 1301 by the users is anexample of a touchpoint. The file networking system 901 receives thetracking information comprising the touchpoints via a bidirectionalcommunication between the webpage 1301 and the file networking system901 as disclosed in the detailed description of FIG. 1. The filenetworking system 901 indexes the touchpoints in the received trackinginformation and compiles the usage information associated with the usageof the portable local copies of the webpage 1301 as disclosed in thedetailed description of FIG. 1.

As exemplarily illustrated in FIG. 13C, the right pane 1318 also rendersa chat window 1319 indicating that Alice is connected to the filenetworking system 901, and displays the user name as Alice in a “from”field 1320 and the audience of a message entered by Alice to be “All”connected users in a “to” field 1321. The chat window 1319 furthercomprises an input field 1322 for entering the message, and a sendbutton 1323 for sending the entered message to other users who areconnected to the same webpage 1301 by the file networking system 901.The invite button 1325, the chat window 1319, the input field 1322, andthe send button 1323 are examples of the widgets for user activities.The file networking system 901 strips the webpage 1301 exemplarilyillustrated in FIG. 13A, of the extraneous information, that is, thelinks to other articles 1309 a displayed on the webpage 1301, and theadvertisements 1309 b that were present in the webpage 1301, and rendersonly content pertaining to the article 1306.

FIG. 13D exemplarily illustrates a screenshot of the portable local copyof the webpage 1301 that is stored in the local storage of the userdevice 1202 a and opened through the file networking system 901. Theusage agreement 1316 and the download link 1317 exemplarily illustratedin FIG. 13C, are removed from the webpage 1301 as exemplarilyillustrated in FIG. 13D. A uniform resource identifier (URI), forexample, a uniform resource locator (URL) displayed in the address bar1305 of the browser 1302, starts with “file” instead of “www” indicatingthe world wide web that is displayed in the address bar 1305 of thebrowser 1302 exemplarily illustrated in FIG. 13A. The URL indicates thatthe webpage 1301 that is displayed by the browser 1302 originates fromthe local storage of the user device 1202 a instead of a server on thenetwork 1201. Moreover, the file networking system 901 appends a tagcomprising the user name as an identification of the first user, Alice,to a base URL of the webpage 1301 in the address bar 1305 of the browser1302. Usage of the portable local copy of the webpage 1301 correspondsto opening of the locally stored webpage 1301, the invitation of friendsby Alice disclosed in the detailed description of FIG. 13C,communication with the invited friends using the chat window 1319, etc.

FIG. 13E exemplarily illustrates a screenshot of a hypertext markuplanguage (HTML) grabber displayed on a browser 1302 of a second user'suser device 1202 b exemplarily illustrated in FIG. 12. The HTML grabberreceives the uniform resource locator (URL) of the webpage 1301exemplarily illustrated in FIG. 13A, that is to be processed by the filenetworking system 901 exemplarily illustrated in FIG. 12, and details ofa second user who intends to download a portable copy of the webpage1301 to a local storage of the user device 1202 b. The second userprovides the URL 1310 of the webpage 1301 and a user name 1311, forexample, Bob, and selects a user role 1312 to be, for example, that of areader. The second user, Bob, provides an electronic mail (email)address 1313 “bob@myemailserver.com”, and selects an option forembedding image data 1314 of the webpage 1301 in the portable copy ofthe webpage 1301. When Bob selects the download button 1315 exemplarilyillustrated in FIG. 13E, the webpage 1301 is loaded in the filenetworking system 901 in the browser 1302 of the user device 1202 b asexemplarily illustrated in FIG. 13F.

As exemplarily illustrated in FIG. 13F, the webpage 1301 loaded in thebrowser 1302 of the user device 1202 b displays the usage agreement1316, the download link 1317, the right pane 1318, and a strippedversion of the webpage 1301 containing the article 1306 as disclosed inthe detailed description of FIG. 13C. The right pane 1318 indicates thatthere were seven users who downloaded the portable copy of the webpage1301 in the week that Bob visited the webpage 1301 through the filenetworking system 901. The sixth user was Alice and the seventh user isBob in the satellite internet of users, that is, the users who areconnected to the same webpage 1301 by the file networking system 901.The right pane 1318 also displays users who are connected to the samewebpage 1301 through the file networking system 901 and the usageinformation, for example, the most recent date and time at which theusers have accessed the same webpage 1301 as disclosed in the detaileddescription of FIG. 13C. The right pane 1318 also provides an inputfield 1324 for Bob to add electronic mail (email) addresses of inviteesto the file networking system 901 for discussion about content in thewebpage 1301 and an invite button 1325 as disclosed in the detaileddescription of FIG. 13C. The right pane 1318 also renders a chat window1319 indicating that Bob is connected to the file networking system 901,and displays the user name as Bob in a “from” field 1320 and an audienceof Bob's message as “All” connected users in a “to” field 1321. The chatwindow 1319 further provides the input field 1322 for entering amessage, and the send button 1323 to send the entered message to otherusers in the satellite internet of users.

FIG. 13G exemplarily illustrates a screenshot of the portable copy ofthe webpage 1301 that is stored in the local storage of the user device1202 b and opened through the file networking system 901. The usageagreement 1316 and the download link 1317 exemplarily illustrated inFIG. 13F, are removed from the webpage 1301 as exemplarily illustratedin FIG. 13G, and a uniform resource locator (URL) displayed in theaddress bar 1305 of the browser 1302 is changed from “www” to “file” asdisclosed in the detailed description of FIG. 13D. Moreover, the filenetworking system 901 appends a tag comprising the user name as anidentification of the second user, Bob, to a base URL of the webpage1301 in the address bar 1305 of the browser 1302.

FIG. 13H exemplarily illustrates a screenshot showing the second user,Bob, initiating a communication with other users of the portable localcopies of the webpage 1301. Bob enters text, asking a question to otherconnected users, in the input field 1322 for entering the message. Thefile networking system 901 allows highlighting of portions of theportable local copy of the webpage 1301 to indicate the region of thewebpage 1301 to which the communication between the users in thesatellite internet is anchored. Bob highlights a portion 1326 on thewebpage 1301 indicating that a chat dialogue between Bob and theaudience of Bob's message corresponds to the portion 1326. Thehighlighting is an annotation made by Bob and is an example of atouchpoint. All the users in the satellite internet of users who areconnected to the webpage 1301 by the file networking system 901 can viewthe highlighting on their portable local copies of the webpage 1301.When Bob selects the send button 1323, the message with the question issent to all the users in the satellite internet of users as exemplarilyillustrated in FIG. 13I. The message appears in the chat windows 1319 ofthe portable local copies of the webpage 1301 on the user devices 1202a, 1202 c, 1203 a, 1203 b, and 1203 c exemplarily illustrated in FIG.12, of the users who are connected to the webpage 1301 by the filenetworking system 901 at the time the message is sent.

Bob performs the chat using a highlighting tool to tether the chat tothe portion 1326 on the webpage 1301, and the chat window 1319, wherethe highlighting tool and the chat window 1319 are examples of widgetsfor user activities. A listing of the connected users who can view thehighlighting of the portion 1326 of the webpage 1301 is another exampleof a touchpoint. The chat performed by Bob using the highlighting tooland the chat window 1319 with the connected users is an example of acommunication between users of the satellite internet of users using thewidgets and indexed touchpoints. Hence, the first user, Alice, views themessage in the chat window 1319 of the webpage 1301 and the highlightingof the portion 1326 of the webpage 1301 on the user device 1202 a asexemplarily illustrated in FIG. 13J. The uniform resource locator (URL)in the address bar 1305 of the browser 1302 exemplarily illustrated inFIG. 13J, ends with the user name, Alice, and the chat window 1319displays the user name Alice. Alice can send a message as a response tothe message sent by Bob by entering text in the input field 1322 andselecting the send button 1323 in the chat window 1319 as exemplarilyillustrated in FIG. 13K. The response sent by Alice is visible to Bob inthe chat window 1319 as exemplarily illustrated in FIG. 13L. In anembodiment, the users in the satellite internet of users have an optionto disable communication with other users in the satellite internet ofusers based on user rights management (URM) set up by a publisher of thewebpage 1301.

Consider an example of implementing the file networking system 901 fortransforming a content file into a content-centric social network withmanaged connectivity and indexable touchpoints. As exemplarilyillustrated in FIG. 13A, the webpage 1301 comprises content, that is,the article 1306, and extraneous information, that is, the links toother articles 1309 a displayed on the webpage 1301, and theadvertisements 1309 b. As exemplarily illustrated in FIG. 13B, the filenetworking system 901 receives the article 1306 in a format of a uniformresource identifier (URI), for example, a uniform resource locator (URL)1310 of the webpage 1301 from a user device 1202 a of a first user, forexample, Alice. The file networking system 901 receives the article 1306through a graphical user interface illustrated as the hypertext markuplanguage (HTML) grabber in FIG. 13B and displayed on the browser 1302 ofthe user device 1202 a. The file networking system 901 also receives auser name 1311 of the first user, for example, as “Alice”, a user role1312 of the first user, for example, as “reader”, and an electronic mail(email) address 1313 of the first user, for example, as“alice@myemailserver.com” as exemplarily illustrated in FIG. 13B. Thefile networking system 901 also receives a selection of an option toembed image data 1314 in the content file to be generated, from Alice asexemplarily illustrated in FIG. 13B. The file networking system 901 thenremoves the links to other articles 1309 a displayed on the webpage 1301and the advertisements 1309 b from the webpage 1301 in the format of theURL of the webpage 1301. The file networking system 901 generates thecontent file in a flattened format since Alice selected the option toembed image data 1314 in the content file to be generated. The generatedcontent file in the flattened format using the received article 1306free of the links to other articles 1309 a displayed on the webpage 1301and the advertisements 1309 b is exemplarily illustrated in FIG. 13C.The generated content file is opened using the browser 1302 on the userdevice 1202 a.

The generated content file, exemplarily illustrated in FIG. 13C,comprises the usage agreement 1316, the input field 1324 in the rightpane 1318 for providing invite information, widgets for user activitiessuch as the input field 1324, the invite button 1325, the chat window1319, the send button 1323, etc., and the download link 1317 asdisclosed in the detailed description of FIG. 13C. If Alice invitesother users by providing the invite information comprising electronicmail (email) addresses of users of invitee user devices 1203 exemplarilyillustrated in FIG. 12, the file networking system 901 creates a primarygroup comprising Alice and the users of the invitee user devices 1203.Since Alice does not provide any invite information in the exampleillustrated in FIG. 13C, the file networking system 901 forms asecondary group with only Alice who operates the user device 1202 a.

When Alice selects the download link 1317, the file networking system901 injects a tracking code with the widgets for user activities into aportable copy of the generated content file based on preconfiguredcriteria comprising the usage agreement 1316 exemplarily illustrated inFIG. 13C, and a definition of the user role 1312 received as that of areader from Alice as exemplarily illustrated in FIG. 13B. The filenetworking system 901 distributes the portable copy of the content filewith the injected tracking code to the user device 1202 a through thenetwork 1201 exemplarily illustrated in FIG. 12, for example, theinternet.

The file networking system 901 establishes a bidirectional communicationbetween the file networking system 901 and the portable local copy ofthe content file on the user device 1202 a through the internet. FIG.13D exemplarily illustrates the portable local copy of the content fileopened in the browser 1302 on the user device 1202 a. Usage of theportable local copy of the content file comprises, for example, theaccess of the portable local copy of the content file by Alice byopening the portable local copy of the content file in the browser 1302on the user device 1202 a. The injected tracking code in the portablelocal copy of the content file identifies the access of the portablelocal copy of the content file as a touchpoint when the portable localcopy of the content file is opened by the user device 1202 a. The filenetworking system 901 receives tracking information comprising thetouchpoint identified by the injected tracking code from the portablelocal copy of the content file on the user device 1202 a based on theusage of the portable local copy of the content file.

The file networking system 901 receives the tracking information via theestablished bidirectional communication between the file networkingsystem 901 and the portable local copy of the content file on the userdevice 1202 a while managing to cover for loss of connectivity over theinternet. If the user device 1202 a loses its connectivity to theinternet and hence to the file networking system 901, the injectedtracking code in the portable local copy of the content file stores thetracking information locally on the user device 1202 a. When the userdevice 1202 a is subsequently connected to the internet, theconnectivity between the file networking system 901 and the portablelocal copy of the content file is reestablished. The injected trackingcode transmits the locally stored tracking information on the userdevice 1202 a to the file networking system 901.

FIGS. 13E-13G exemplarily illustrate screenshots portraying the stepsperformed by the file networking system 901 for a second user with auser name Bob for providing a portable local copy of the content file onBob's user device 1202 b. The steps performed by the file networkingsystem 901 for Bob for providing the portable local copy of the contentfile on Bob's user device 1202 b are similar to the steps performed bythe file networking system 901 for Alice as disclosed above. Usage ofthe portable local copy of the content file on Bob's user device 1202 bfurther comprises user interactions, for example, annotations made onthe portable local copy of the content file by highlighting portions ofthe portable local copy of the content file. The file networking system901 receives the tracking information comprising touchpoints defined bythe user interactions with the portable local copy of the content fileon Bob's user device 1202 b and identified by the injected tracking codefrom the portable local copy of the content file on Bob's user device1202 b based on the usage of the portable local copy of the contentfile.

The file networking system 901 indexes the touchpoints in the receivedtracking information for tracking the usage of the portable local copiesof the content file on the user devices 1202 a and 1202 b. The filenetworking system 901 creates a satellite internet of users comprisingAlice and Bob who use the portable local copies of the content file onthe user devices 1202 a and 1202 b respectively. FIG. 13G exemplarilyillustrates the portable local copy of the content file stored locallyon Bob's user device 1202 b. Bob can view himself and Alice as currentlyconnected to the file networking system 901 in the right pane 1318 inthe portable local copy of the content file on Bob's user device 1202 b.The right pane 1318 also displays time stamps of the latest activitieson Alice's and Bob's respective portable local copies of the contentfile next to the displayed user names and corresponding user roles ofAlice and Bob. The file networking system 901 displays Alice's user nameand the time stamp of Alice's latest activity in the right pane 1318 ofthe portable local copy of the content file on Bob's user device 1202 busing the indexed touchpoint corresponding to the access of the portablelocal copy of the content file on Alice's user device 1202 a. If Aliceinvites other users by providing invite information to the filenetworking system 901, the file networking system 901 creates thesatellite internet of users based on the received invite information,for example, by providing an option to reveal only the currentlyconnected users in a same primary group as Alice.

FIG. 13H exemplarily illustrates the portion 1326 on the portable localcopy of the content file on Bob's user device 1202 b as highlighted. Thehighlighting is an annotation made by Bob on the portable local copy ofthe content file on Bob's user device 1202 b. The highlighting done byBob is another example of a touchpoint created using a widget, forexample, a highlighting tool. The file networking system 901 establishescommunication between Alice and Bob in the created satellite internet ofusers using one or more of the widgets for the user activities throughthe injected tracking codes and the indexed touchpoints. FIG. 13Iexemplarily illustrates a message sent by Bob to the satellite internetof users using the widgets for the user activities in the portable localcopy of the content file on Bob's user device 1202 b. The message sentby Bob is tethered to the portion 1326 that is highlighted by Bob on theportable local copy of the content file on Bob's user device 1202 b.FIG. 13J exemplarily illustrates the portable local copy of the contentfile on Alice's user device 1202 a, in which, the highlighting of theportion 1326 done by Bob is displayed. FIGS. 13K-FIG. 13L exemplarilyillustrate the communication initiated by Alice on Alice's user device1202 a being rendered on Bob's user device 1202 b.

The file networking system 901 logs the user activities performed byAlice and Bob who use the portable local copies of the content file onthe user devices 1202 a and 1202 b respectively, for example, via thechat windows 1319 on the portable local copies of the content file onthe user devices 1202 a and 1202 b. The file networking system 901 usesthe logged user activities to establish the communication between Aliceand Bob in the created satellite internet of users. Alice and Bob cancommunicate in a sequential manner. For example, Alice can communicateafter receiving a response from Bob to an earlier communicationinitiated by Alice.

The file networking system 901 compiles usage information associatedwith the usage of the portable local copies of the content file on theuser devices 1202 a and 1202 b from the received tracking informationand the established communication between Alice and Bob in the createdsatellite internet of users. Consider the portable local copy of thecontent file on Bob's user device 1202 b exemplarily illustrated in FIG.13G. The number of users who were connected to the file networkingsystem 901 over a period of a week and the most recent date and time atwhich Alice accessed the portable local copy of the content file thatare displayed in the right pane 1318 of Bob's portable local copy of thecontent file are examples of the compiled usage information. Consider anexample where a publisher of the article 1306 and an author of thearticle 1306 are also users of the file networking system 901 with userdevices 1203 c and 1202 c respectively. The file networking system 901sends the compiled usage information comprising, for example, the numberof readers reading the article 1306, portions of the article 1306 thatare most highlighted by Alice and Bob who use the portable local copy ofthe content file comprising the article 1306, etc., to the user device1203 c of the publisher of the article 1306. An example of a portionthat is highlighted is the portion 1326 that is highlighted by Bob onhis portable local copy of the content file as exemplarily illustratedin FIG. 13H. The publisher of the article 1306 can publishadvertisements that are most suited to Bob based on the compiled usageinformation. The file networking system 901 then facilitates targetingof advertisements 1309 b published by the publisher of the article 1306to Bob's user device 1202 b.

The file networking system 901 also renders the compiled usageinformation, for example, number of readers reading the article 1306,portions of the article 1306 most highlighted by Alice and Bob who usethe portable local copy of the content file on the user devices 1202 aand 1202 b respectively to a user device 1202 c of the author of thearticle 1306. The author of the article 1306 can initiate a selectivecommunication with, for example, Bob, and monitor the usage of theportable local copies of the content file on the user devices 1202 a and1202 b of Alice and Bob respectively, by the communication between Aliceand Bob in the chat window 1319 as exemplarily illustrated in FIGS.13H-13L. Furthermore, the file networking system 901 sends the compiledusage information associated with the usage of the portable local copiesof the content file on the user device 1202 c of the author of thearticle 1306 to the user device 1203 c of the publisher of the article1306 in the right pane 1318. The file networking system 901 establishesa round-trip communication between the author of the article 1306 andthe publisher of the article 1306 for review of the article 1306 priorto publication of the article 1306 on the webpage 1301 and forperforming updates to the article 1306 after the publication based onthe compiled usage information.

The file networking system 901 receives updates made to the portablelocal copy of the content file by the author of the article 1306 on theuser device 1202 c of the author of the article 1306 based onpredetermined user rights set up by the publisher of the webpage 1301for the author of the article 1306. The file networking system 901updates the content file comprising the article 1306 based on thereceived updates. The file networking system 901 generates and transmitsnotifications of an availability of the updated content file to Alice,Bob, and the author of the article 1306 for providing access to theupdated content file on the user devices 1202 a, 1202 b, and 1202 crespectively.

The file networking system 901 detects computing devices and consumingdevices from among the user devices 1202 a, 1202 b, 1202 c, 1203 a, 1203b and 1203 c exemplarily illustrated in FIG. 12, of the readers such asAlice and Bob, the publisher of the article 1306, and the author of thearticle 1306. For example, if the user devices 1202 a and 1202 b ofAlice and Bob respectively are consuming devices such as smartphones,the file networking system 901 uses injected proprietary script in thearticle 1306 that is cached in the browsers 1302 of the user devices1202 a and 1202 b to establish a signaling handshake between the article1306 cached in the browsers 1302 of the user devices 1202 a and 1202 band the content that is in the portable local copy of the content file.If the user device 1203 c of the publisher of the article 1306 is acomputing device such as a desktop computer, the file networking system901 uses inline frame (iframe) tags in the portable local copy of thecontent file on the user device 1203 c of the publisher of the article1306 and RESTful services on the file networking system 901 to establishthe signaling handshake between the portable local copy of the contentfile and the file networking system 901. The signaling handshakecorresponds to the communication between the portable local copies ofthe content file on the user devices 1202 a and 1202 b and the filenetworking system 901. The file networking system 901 similarlyestablishes the communication between, for example, a smartphone of theauthor of the article 1306 and the desktop computer of the publisher ofthe article 1306 based on the detection of a consuming device and acomputing device from among the user devices 1202 c and 1203 c of theauthor of the article 1306 and the publisher of the article 1306respectively.

It will be readily apparent in different embodiments that the variousmethods, algorithms, and computer programs disclosed herein areimplemented on non-transitory computer readable storage mediaappropriately programmed for computing devices. The non-transitorycomputer readable storage media participates in providing data, forexample, instructions that are read by a computer, a processor or asimilar device. In different embodiments, the “non-transitory computerreadable storage media” further refers to a single medium or multiplemedia, for example, a centralized database, a distributed database,and/or associated caches and servers that store one or more sets ofinstructions that are read by a computer, a processor or a similardevice. The “non-transitory computer readable storage media” furtherrefers to any medium capable of storing or encoding a set ofinstructions for execution by a computer, a processor or a similardevice and that causes a computer, a processor or a similar device toperform any one or more of the methods disclosed herein. Common forms ofnon-transitory computer readable storage media comprise, for example, afloppy disk, a flexible disk, a hard disk, magnetic tape, a laser disc,a Blu-ray Disc® of the Blu-ray Disc Association, any magnetic medium, acompact disc-read only memory (CD-ROM), a digital versatile disc (DVD),any optical medium, a flash memory card, punch cards, paper tape, anyother physical medium with patterns of holes, a random access memory(RAM), a programmable read only memory (PROM), an erasable programmableread only memory (EPROM), an electrically erasable programmable readonly memory (EEPROM), a flash memory, any other memory chip orcartridge, or any other medium from which a computer can read.

In an embodiment, the computer programs that implement the methods andalgorithms disclosed herein are stored and transmitted using a varietyof media, for example, the computer readable media in a number ofmanners. In an embodiment, hard-wired circuitry or custom hardware isused in place of, or in combination with, software instructions forimplementing the processes of various embodiments. Therefore, theembodiments are not limited to any specific combination of hardware andsoftware. The computer program codes comprising computer executableinstructions can be implemented in any programming language. Examples ofprogramming languages that can be used comprise C, C++, C#, Java®,JavaScript®, Fortran, Ruby, Perl®, Python®, Visual Basic®, hypertextpreprocessor (PHP), Microsoft® .NET, Objective-C®, etc. Otherobject-oriented, functional, scripting, and/or logical programminglanguages can also be used. In an embodiment, the computer program codesor software programs are stored on or in one or more mediums as objectcode. In another embodiment, various aspects of the computer implementedmethod and the file networking system 901 disclosed herein areimplemented in a non-programmed environment comprising documentscreated, for example, in a hypertext markup language (HTML), anextensible markup language (XML), or other format that render aspects ofa graphical user interface (GUI) or perform other functions, when viewedin a visual area or a window of a browser program. In anotherembodiment, various aspects of the computer implemented method and thefile networking system 901 disclosed herein are implemented asprogrammed elements, or non-programmed elements, or any suitablecombination thereof.

Where databases are described such as the database 901 b, it will beunderstood by one of ordinary skill in the art that (i) alternativedatabase structures to those described may be employed, and (ii) othermemory structures besides databases may be employed. Any illustrationsor descriptions of any sample databases disclosed herein areillustrative arrangements for stored representations of information. Inan embodiment, any number of other arrangements are employed besidesthose suggested by tables illustrated in the drawings or elsewhere.Similarly, any illustrated entries of the databases represent exemplaryinformation only; one of ordinary skill in the art will understand thatthe number and content of the entries can be different from thosedisclosed herein. In another embodiment, despite any depiction of thedatabases as tables, other formats including relational databases,object-based models, and/or distributed databases are used to store andmanipulate the data types disclosed herein. Object methods or behaviorsof a database can be used to implement various processes such as thosedisclosed herein. In another embodiment, the databases are, in a knownmanner, stored locally or remotely from a device that accesses data insuch a database. In embodiments where there are multiple databases inthe file networking system 901, the databases are integrated tocommunicate with each other for enabling simultaneous updates of datalinked across the databases, when there are any updates to the data inone of the databases.

The computer implemented method and the file networking system 901disclosed herein can be configured to work in a network environmentcomprising one or more computers that are in communication with one ormore devices via a network. In an embodiment, the computers communicatewith the devices directly or indirectly, via a wired medium or awireless medium such as the Internet, a local area network (LAN), a widearea network (WAN) or the Ethernet, a token ring, or via any appropriatecommunications mediums or combination of communications mediums. Each ofthe devices comprises processors, examples of which are disclosed above,that are adapted to communicate with the computers. In an embodiment,each of the computers is equipped with a network communication device,for example, a network interface card, a modem, or other networkconnection device suitable for connecting to a network. Each of thecomputers and the devices executes an operating system, examples ofwhich are disclosed above. While the operating system may differdepending on the type of computer, the operating system provides theappropriate communications protocols to establish communication linkswith the network. Any number and type of machines may be incommunication with the computers.

The computer implemented method and the file networking system 901disclosed herein are not limited to a particular computer systemplatform, processor, operating system, or network. In an embodiment, oneor more aspects of the computer implemented method and the filenetworking system 901 disclosed herein are distributed among one or morecomputer systems, for example, servers configured to provide one or moreservices to one or more client computers, or to perform a complete taskin a distributed system. For example, one or more aspects of thecomputer implemented method and the file networking system 901 disclosedherein are performed on a client-server system that comprises componentsdistributed among one or more server systems that perform multiplefunctions according to various embodiments. These components comprise,for example, executable, intermediate, or interpreted code, whichcommunicate over a network using a communication protocol. The computerimplemented method and the file networking system 901 disclosed hereinare not limited to be executable on any particular system or group ofsystems, and are not limited to any particular distributed architecture,network, or communication protocol.

The foregoing examples have been provided merely for the purpose ofexplanation and are in no way to be construed as limiting of thecomputer implemented method and the file networking system 901 disclosedherein. While the computer implemented method and the file networkingsystem 901 have been described with reference to various embodiments, itis understood that the words, which have been used herein, are words ofdescription and illustration, rather than words of limitation. Further,although the computer implemented method and the file networking system901 have been described herein with reference to particular means,materials, and embodiments, the computer implemented method and the filenetworking system 901 are not intended to be limited to the particularsdisclosed herein; rather, the computer implemented method and the filenetworking system 901 extend to all functionally equivalent structures,methods and uses, such as are within the scope of the appended claims.Those skilled in the art, having the benefit of the teachings of thisspecification, may effect numerous modifications thereto and changes maybe made without departing from the scope and spirit of the computerimplemented method and the file networking system 901 disclosed hereinin their aspects.

We claim:
 1. A computer implemented method for transforming a contentfile into a content-centric social network with managed connectivity andindexable touchpoints, the method employing a file networking systemcomprising at least one processor configured to execute computer programinstructions for performing the method comprising: injecting a trackingcode with widgets for user activities into each of one or more portablecopies of the content file by the file networking system based onpreconfigured criteria in response to a request to access the contentfile from one or more first user devices, wherein the file networkingsystem transforms said each of said one or more portable copies of thecontent file into one or more homed portable copies of the content fileby embedding the tracking code into said each of said one or moreportable copies of the content file, and wherein the file networkingsystem radio collars said each of said one or more portable copies ofthe content file for tracking said each of said one or more portablecopies; distributing the one or more portable copies of the content filewith the injected tracking code in the each of the one or more portablecopies of the content file to one or more second user devices through anetwork by the file networking system based on invite informationreceived by the file networking system with the request to access thecontent file, wherein the one or more second user devices comprise theone or more first user devices and invitee user devices addressed in theinvite information; establishing a bidirectional communication betweenthe file networking system and the distributed one or more portablecopies of the content file on the one or more second user devicesthrough the network by the file networking system; receiving trackinginformation comprising touchpoints by the file networking system basedon usage of the distributed one or more portable copies of the contentfile via the established bidirectional communication while managing tocover for loss of connectivity over the network, wherein the touchpointsare defined by user interactions with the distributed one or moreportable copies of the content file on the one or more second userdevices and are identified by the injected tracking code in each of thedistributed one or more portable copies of the content file on the oneor more second user devices; indexing the touchpoints in the receivedtracking information by the file networking system for tracking theusage of the distributed one or more portable copies of the contentfile; creating a satellite internet of users of the distributed one ormore portable copies of the content file on the one or more second userdevices by the file networking system based on the invite informationand the tracked usage of the distributed one or more portable copies ofthe content file; and establishing communication between users of thedistributed one or more portable copies of the content file on the oneor more second user devices in the created satellite internet of usersby the file networking system using one or more of the widgets for theuser activities through the injected tracking code in the each of thedistributed one or more portable copies of the content file and theindexed touchpoints, thereby transforming the content file into thecontent-centric social network with the managed connectivity and theindex able touchpoints.
 2. The computer implemented method of claim 1,wherein the tracking information is stored locally on the one or moresecond user devices by the injected tracking code in the each of thedistributed one or more portable copies of the content file on the lossof the connectivity between the file networking system and thedistributed one or more portable copies of the content file over thenetwork, and transmitted to the file networking system from thedistributed one or more portable copies of the content file on the oneor more second user devices on reestablishment of the connectivitybetween the file networking system and the distributed one or moreportable copies of the content file over the network.
 3. The computerimplemented method of claim 1, wherein the preconfigured criteria forthe injection of the tracking code with the widgets for the useractivities into the each of the one or more portable copies of thecontent file by the file networking system comprise definitions of userroles and a usage agreement.
 4. The computer implemented method of claim3, wherein the user roles comprise a publisher of the content file, anauthor of the content file, a reader of the content file, and an editorof the content file.
 5. The computer implemented method of claim 1,further comprising logging the user activities in the distributed one ormore portable copies of the content file on the one or more second userdevices in the created satellite internet of users by the filenetworking system using one or more of the widgets for the useractivities through the injected tracking code in the each of thedistributed one or more portable copies of the content file for theestablishment of the communication between the users of the distributedone or more portable copies of the content file on the one or moresecond user devices in the created satellite internet of users.
 6. Thecomputer implemented method of claim 1, further comprising compilingusage information associated with the usage of the distributed one ormore portable copies of the content file on the one or more second userdevices from the received tracking information and the establishedcommunication between the users of the distributed one or more portablecopies of the content file on the one or more second user devices in thecreated satellite internet of users by the file networking system. 7.The computer implemented method of claim 6, further comprising: sendingthe compiled usage information associated with the usage of thedistributed one or more portable copies of the content file on the oneor more second user devices of one or more readers of the content fileto the one or more second user devices of a publisher of the contentfile by the file networking system; and facilitating targeting ofadvertisements published by the publisher of the content file to the oneor more second user devices of the one or more readers of the contentfile by the file networking system based on the compiled usageinformation.
 8. The computer implemented method of claim 6, furthercomprising rendering the compiled usage information associated with theusage of the distributed one or more portable copies of the content fileon the one or more second user devices of one or more readers of thecontent file to the one or more second user devices of one or moreauthors of the content file by the file networking system for initiatinga selective communication with the one or more readers of the contentfile by the one or more authors of the content file based on thecompiled usage information and allowing monitoring of the usage of thedistributed one or more portable copies of the content file on the oneor more second user devices of the one or more readers of the contentfile by the one or more authors of the content file.
 9. The computerimplemented method of claim 6, further comprising: sending the compiledusage information associated with the usage of the distributed one ormore portable copies of the content file on the one or more second userdevices of one or more authors of the content file to the one or moresecond user devices of a publisher of the content file by the filenetworking system; and establishing a round-trip communication betweenthe one or more authors of the content file and the publisher of thecontent file by the file networking system for review of the contentfile prior to publication of the content file and for performing updatesto the content file after the publication of the content file based onthe compiled usage information.
 10. The computer implemented method ofclaim 1, further comprising grouping the one or more second user devicesinto one or more groups by the file networking system automaticallybased on the access of the content file.
 11. The computer implementedmethod of claim 1, further comprising: receiving, by the file networkingsystem, updates made to the distributed one or more portable copies ofthe content file by users of one or more of the one or more second userdevices based on predetermined user rights associated with the users ofthe one or more of the one or more second user devices; updating thecontent file based on the received updates by the file networkingsystem; and generating and transmitting notifications of an availabilityof the updated content file by the file networking system to users ofthe one or more second user devices for providing access of the updatedcontent file to the one or more second user devices.
 12. The computerimplemented method of claim 1, further comprising detecting computingdevices and consuming devices from among the one or more second userdevices by the file networking system for the establishment of thebidirectional communication between the file networking system and thedistributed one or more portable copies of the content file and theestablishment of the communication between the users of the distributedone or more portable copies of the content file in the created satelliteinternet of users.
 13. The computer implemented method of claim 1,wherein the invite information comprises digital addresses of users ofthe invitee user devices, received from one or more of the one or morefirst user devices.
 14. A file networking system for transforming acontent file into a content-centric social network with managedconnectivity and indexable touchpoints, the file networking systemcomprising: a non-transitory computer readable storage medium configuredto store computer program instructions defined by modules of the filenetworking system; and at least one processor communicatively coupled tothe non-transitory computer readable storage medium, the at least oneprocessor configured to execute the computer program instructionsdefined by the modules of the file networking system, the modulescomprising: a code injection module configured to inject a tracking codewith widgets for user activities into each of one or more portablecopies of the content file based on preconfigured criteria in responseto a request to access the content file from one or more first userdevices, wherein the file networking system transforms said each of saidone or more portable copies of the content file into one or more homedportable copies of the content file by embedding the tracking code intosaid each of said one or more portable copies of the content file, andwherein the file networking system radio collars said each of said oneor more portable copies of the content file for tracking said each ofsaid one or more portable copies; a file distribution module configuredto distribute the one or more portable copies of the content file withthe injected tracking code in the each of the one or more portablecopies of the content file to one or more second user devices through anetwork based on invite information received by a data communicationmodule of the file networking system with the request to access thecontent file, wherein the one or more second user devices comprise theone or more first user devices and invitee user devices addressed in theinvite information; a network communication module configured toestablish a bidirectional communication between the file networkingsystem and the distributed one or more portable copies of the contentfile on the one or more second user devices through the network; thedata communication module configured to receive tracking informationcomprising touchpoints based on usage of the distributed one or moreportable copies of the content file via the established bidirectionalcommunication while managing to cover for loss of connectivity over thenetwork, wherein the touchpoints are defined by user interactions withthe distributed one or more portable copies of the content file on theone or more second user devices and are identified by the injectedtracking code in each of the distributed one or more portable copies ofthe content file on the one or more second user devices; an indexingengine configured to index the touchpoints in the received trackinginformation for tracking the usage of the distributed one or moreportable copies of the content file; a satellite internet creationmodule configured to create a satellite internet of users of thedistributed one or more portable copies of the content file on the oneor more second user devices based on the invite information and thetracked usage of the distributed one or more portable copies of thecontent file; and the satellite internet creation module furtherconfigured to establish communication between users of the distributedone or more portable copies of the content file on the one or moresecond user devices in the created satellite internet of users using oneor more of the widgets for the user activities through the injectedtracking code in the each of the distributed one or more portable copiesof the content file and the indexed touchpoints, thereby transformingthe content file into the content-centric social network with themanaged connectivity and the indexable touchpoints.
 15. The filenetworking system of claim 14, wherein the modules further comprise anactivity logging module configured to log the user activities in thedistributed one or more portable copies of the content file on the oneor more second user devices in the created satellite internet of usersusing one or more of the widgets for the user activities through theinjected tracking code in the each of the distributed one or moreportable copies of the content file for the establishment of thecommunication between the users of the distributed one or more portablecopies of the content file on the one or more second user devices in thecreated satellite internet of users.
 16. The file networking system ofclaim 14, wherein the modules further comprise a usage analytics engineconfigured to compile usage information associated with the usage of thedistributed one or more portable copies of the content file on the oneor more second user devices from the received tracking information andthe established communication between the users of the distributed oneor more portable copies of the content file on the one or more seconduser devices in the created satellite internet of users.
 17. The filenetworking system of claim 14, wherein the satellite internet creationmodule is further configured to group the one or more second userdevices into one or more groups automatically based on the access of thecontent file.
 18. The file networking system of claim 14, wherein thedata communication module is further configured to receive updates madeto the distributed one or more portable copies of the content file byusers of one or more of the one or more second user devices based onpredetermined user rights associated with the users of the one or moreof the one or more second user devices, and wherein the modules of thefile networking system further comprise: a file update module configuredto update the content file based on the received updates; and anotification module configured to generate and transmit notifications ofan availability of the updated content file to users of the one or moresecond user devices for providing access of the updated content file tothe one or more second user devices.
 19. The file networking system ofclaim 14, wherein the data communication module is further configured todetect computing devices and consuming devices from among the one ormore second user devices for the establishment of the bidirectionalcommunication between the file networking system and the distributed oneor more portable copies of the content file and the establishment of thecommunication between the users of the distributed one or more portablecopies of the content file in the created satellite internet of users.20. The file networking system of claim 14, wherein the preconfiguredcriteria for the injection of the tracking code with the widgets for theuser activities into the each of the one or more portable copies of thecontent file by the code injection module comprise definitions of userroles and a usage agreement, and wherein the user roles comprise apublisher of the content file, an author of the content file, a readerof the content file, and an editor of the content file.
 21. The filenetworking system of claim 14, wherein the invite information comprisesdigital addresses of users of the invitee user devices, received by thedata communication module from one or more of the one or more first userdevices.
 22. A non-transitory computer readable storage medium havingembodied thereon, computer program codes comprising instructionsexecutable by at least one processor for transforming a content fileinto a content-centric social network with managed connectivity andindexable touchpoints, the computer program codes comprising: a firstcomputer program code for injecting a tracking code with widgets foruser activities into each of one or more portable copies of the contentfile based on preconfigured criteria in response to a request to accessthe content file from one or more first user devices, wherein thepreconfigured criteria comprise definitions of user roles and a usageagreement, wherein the file networking system transforms said each ofsaid one or more portable copies of the content file into one or morehomed portable copies of the content file by embedding the tracking codeinto said each of said one or more portable copies of the content file,and wherein the file networking system radio collars said each of saidone or more portable copies of the content file for tracking said eachof said one or more portable copies; a second computer program code fordistributing the one or more portable copies of the content file withthe injected tracking code in the each of the one or more portablecopies of the content file to one or more second user devices through anetwork based on invite information received with the request to accessthe content file, wherein the one or more second user devices comprisethe one or more first user devices and invitee user devices addressed inthe invite information; a third computer program code for establishing abidirectional communication between the file networking system and thedistributed one or more portable copies of the content file on the oneor more second user devices through the network; a fourth computerprogram code for receiving tracking information comprising touchpointsbased on usage of the distributed one or more portable copies of thecontent file via the established bidirectional communication whilemanaging to cover for loss of connectivity over the network, wherein thetouchpoints are defined by user interactions with the distributed one ormore portable copies of the content file on the one or more second userdevices and are identified by the injected tracking code in each of thedistributed one or more portable copies of the content file on the oneor more second user devices; a fifth computer program code for indexingthe touchpoints in the received tracking information for tracking theusage of the distributed one or more portable copies of the contentfile; a sixth computer program code for creating a satellite internet ofusers of the distributed one or more portable copies of the content fileon the one or more second user devices, based on the invite informationand the tracked usage of the distributed one or more portable copies ofthe content file; and a seventh computer program code for establishingcommunication between users of the distributed one or more portablecopies of the content file on the one or more second user devices in thecreated satellite internet of users using one or more of the widgets forthe user activities through the injected tracking code in the each ofthe distributed one or more portable copies of the content file and theindexed touchpoints, thereby transforming the content file into thecontent-centric social network with the managed connectivity and theindexable touchpoints.
 23. The non-transitory computer readable storagemedium of claim 22, wherein the seventh computer program code furthercomprises an eighth computer program code for logging the useractivities in the distributed one or more portable copies of the contentfile on the one or more second user devices in the created satelliteinternet of users using one or more of the widgets for the useractivities through the injected tracking code in the each of thedistributed one or more portable copies of the content file for theestablishment of the communication between the users of the distributedone or more portable copies of the content file on the one or moresecond user devices in the created satellite internet of users.
 24. Thenon-transitory computer readable storage medium of claim 22, wherein thecomputer program codes further comprise a ninth computer program codefor compiling usage information associated with the usage of thedistributed one or more portable copies of the content file on the oneor more second user devices from the received tracking information andthe established communication between the users of the distributed oneor more portable copies of the content file on the one or more seconduser devices in the created satellite internet of users.